Google Guava

from Wikipedia, the free encyclopedia
Google Guava
Basic data

Maintainer Google Guava Community
developer Google Guava Community
Current  version 29.0
( April 13, 2020 )
operating system platform independent
programming language Java
License Apache license 2.0
github.com/google/guava

Google Guava is a free collection of program libraries for the Java programming language . The collection is intended as a supplement to the functionality of the Java class library and extends it, for example, with regard to collections, I / O support or string manipulations.

Google Guava is mainly maintained by Google developers and is used by Google in their Java projects.

Google Guava is considered one of the most popular Java libraries.

history

Google Guava was originally developed by Kevin Bourrillion and Jared Levy under the name Google Collections Library .

The implementation and architecture of the Google Collections Library was partly motivated by the generic programming in Java introduced with Java 5 . Although the introduction of generics improved development productivity, there was not enough supporting functionality in the Java class library. The Apache Commons Collections library, which is mostly used for this, was not adapted for generics up to version 4.0 at the end of 2013 for reasons of downward compatibility. This motivated Kevin Bourrillion and Jared Levy to write an extension for the Java Collections Framework which contains generic collection classes such as multisets, multimaps, bimaps or immutable collections. They were supported by Joshua Bloch , the author of "Effective Java", and Doug Lea , one of the lead designers of the Java Concurrency Utilities of the Java class library.

Components

Google Guava can be roughly broken down into the following components:

Basic utilities
To reduce the effort involved in implementing typical methods and behavior in Java. For example support in handling potential null objects, support for checking preconditions , support for the implementation of hashCode()and toString()methods.
Collections
An extension of the Java Collections Framework - formerly called the Google Collections Library . Immutable Collections, other collection classes such as multimaps for simplified handling of maps for lists ( Map<K, List<V>>)
Other utilities
For the implementation of extended functionalities such as caches , functional programming , range objects and hash functions .

Some of the components (for example I / O support) have been made obsolete by Java 7, others (functional programming) are made superfluous by functionality in Java 8 ( closures ).

See also

Web links

Individual evidence

  1. Release 29.0 . April 13, 2020 (accessed April 14, 2020).
  2. a b Guava. Google Core Libraries for Java 1.6+. Retrieved December 13, 2015 .
  3. Tim O'Brien: Google Guava Shows Strong Growth in April. Sonatype, accessed March 8, 2013 .
  4. a b c d e Geertjan Wielenga: What is the Google Collections Library? Javalobby, October 23, 2007, accessed March 8, 2013 : "Kevin Bourrillion and Jared Levy are the two primary creators of the Google Collections Library, which aims to provide an extension to the Java Collections Framework."