Original author(s) | Kevin Bourrillion and Jared Levy (Google Collections Library) [1] |
---|---|
Developer(s) | |
Initial release | September 15, 2009[2] |
Stable release | 32.0
/ May 29, 2023[3] |
Repository | |
Written in | Java |
Operating system | Cross-platform |
Type | Utility and Collection Libraries |
License | Apache License 2.0 |
Website | github |
Google Guava is an open-source set of common libraries for Java, mainly developed by Google engineers.
Overview
Google Guava can be roughly divided into three components: basic utilities to reduce manual labor to implement common methods and behaviors, an extension to the Java collections framework (JCF) formerly called the Google Collections Library, and other utilities which provide convenient and productive features such as functional programming, graphs, caching, range objects, and hashing.[4]
The creation and architecture of the collection component were partly motivated by generics introduced in JDK 1.5.[1] Although generics improve the productivity of programmers, the standard JCF does not provide sufficient functionality, and its complement Apache Commons Collections had not adopted generics in order to maintain backward compatibility.[1] This fact led two engineers Kevin Bourrillion and Jared Levy to develop an extension to JCF, which provides additional generic classes such as multisets, multimaps, bitmaps, and immutable collections.[1]
The library's design and code were advised and reviewed by Joshua Bloch, the original lead designer of the Java Collections framework, and Doug Lea, one of the lead designers of concurrency utilities in JDK.[1]
As of April 2012, Guava ranked the 12th most popular Java library, next to the Apache Commons projects and a few others.[5] Research performed in 2013 on 10,000 GitHub projects found that Google-made libraries, such as Google 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]
See also
- Apache Commons, another set of common libraries for Java
- Google Guice, a Java framework for dependency injection, developed by Google
References
- 1 2 3 4 5 Wielenga, Geertjan (2007-10-23). "What is the Google Collections Library?". Javalobby. Archived from the original on 2015-11-19. Retrieved 2013-02-03.
- ↑ "Release History . Google Guava". GitHub.
- ↑ "Releases . Google Guava". GitHub.
- ↑ "Home · google/Guava Wiki". GitHub.
- ↑ O'Brien, Tim (2012-05-14). "Google Guava Shows Strong Growth in April". Sonatype. Retrieved 2013-02-03.
- ↑ Weiss, Tal (2013-11-20). "We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby". Archived from the original on 2014-07-09. Retrieved 2014-02-04.