Powered by
Share this page on
Article provided by Wikipedia

Google Guava
"Original author(s) Kevin Bourrillion and Jared Levy (Google Collections Library) [1]
"Developer(s) "Google
"Stable release
24.0 / January 31, 2018 (2018-01-31)[2]
"Repository Edit this at Wikidata
Written in "Java
"Operating system "Cross-platform
"Type Utility and Collection Libraries
"License "Apache License 2.0
Website github.com/google/guava

Google Guava is an "open-source set of common libraries for "Java, mainly developed by "Google engineers.



Google Guava can be roughly divided into three components: basic utilities to reduce menial labors 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.[3]

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, "bimaps, 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.[4] 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.[5] As of March 2018, Guava was the 6th most starred Java project on Github.


While Google Guava is an open source project, the maintainers of Guava "do not encourage external contributions.[6] Kevin Bourrillion wrote a Google+ post explaining that, while Guava is open source, it is also a collection of APIs referenced throughout the internal Google codebase. Bourrillion writes, "I don't think many of you understand: the work you've done to produce that patch is actually minuscule compared to the total amount of work we have to do to put it in Guava." This post and the reaction to this post sparked a debate over the public/private nature of projects like Google Guava and extensive discussion over what constitutes an open source project.[7] Support for Guava has been dropped from version 5 of the "Spring Framework.[8]

See also[edit]


  1. ^ a b c d e Wielenga, Geertjan (2007-10-23). "What is the Google Collections Library?". Javalobby. Retrieved 2013-02-03. 
  2. ^ "Guava Release 23.0: Release Notes". 
  3. ^ https://github.com/google/guava/wiki
  4. ^ O'Brien, Tim (2012-05-14). "Google Guava Shows Strong Growth in April". Sonatype. Retrieved 2013-02-03. 
  5. ^ Weiss, Tal (2013-11-20). "We Analyzed 30,000 GitHub Projects – Here Are The Top 100 Libraries in Java, JS and Ruby". Retrieved 2014-02-04. 
  6. ^ Bourrillion, Kevin (2011-10-14). "The story with #guava and your patches". Retrieved 2015-07-17. 
  7. ^ "Hackernews discussion of Bourrillion's statement on patches". 2011-10-15. Retrieved 2015-07-17. 
  8. ^ "What's New in the Spring Framework". 2017-07-20. Retrieved 2017-08-29. 

External links[edit]

) ) WikipediaAudio is not affiliated with Wikipedia or the WikiMedia Foundation.