| Google Guava | |
|---|---|
| Original authors | Kevin Bourrillion and Jared Levy (Google Collections Library)[1] |
| Developer | |
| Initial release | September 15, 2009; 16 years ago (2009-09-15)[2] |
| Stable release | |
| Written in | Java |
| Operating system | Cross-platform |
| Type | Utility and Collection Libraries |
| License | Apache License 2.0 |
| Website | guava |
| Repository | |
Google Guava is anopen-source set of common libraries forJava, mainly developed byGoogle engineers.
Google Guava can be roughly divided into three components: basic utilities to reduce manual labor to implement common methods and behaviors, an extension to theJava collections framework (JCF) formerly called theGoogle Collections Library, and other utilities which provide convenient and productive features such asfunctional programming,graphs,caching, range objects, andhashing.[4]
The creation and architecture of the collection component were partly motivated bygenerics introduced inJDK 1.5.[1] Although generics improve the productivity of programmers, the standard JCF does not provide sufficient functionality, and its complementApache Commons Collections had not adopted generics in order to maintainbackward compatibility.[1] This fact led two engineers Kevin Bourrillion and Jared Levy to develop an extension to JCF, which provides additional generic classes such asmultisets,multimaps,bitmaps, and immutable collections.[1]
The library's design and code were advised and reviewed byJoshua Bloch, the original lead designer of the Java Collections framework, andDoug Lea, one of the lead designers ofconcurrency utilities in JDK.[1]
As of April 2012, Guava ranked the 12th most popular Java library, next to theApache Commons projects and a few others.[5] Research performed in 2013 on 10,000 GitHub projects found that Google-made libraries, such asGoogle Web Toolkit and Guava, constituted 7 of the top 100 most popular libraries in Java, and that Guava was the 8th most popular Java library.[6]