A comprehensive set of core Java libraries from Google providing new collection types, immutable collections, and utilities for concurrency, I/O, hashing, and more.
Guava is a comprehensive set of core Java libraries developed by Google that extends the Java standard library with additional collection types, immutable collections, and utilities for concurrency, I/O, hashing, primitives, and strings. It solves common programming problems by providing well-designed, production-tested components that reduce boilerplate code and improve application reliability.
Java developers building production applications who need robust utilities beyond the standard library, particularly those working on large-scale systems or requiring enhanced collection types and concurrency tools.
Developers choose Guava for its battle-tested reliability (used extensively within Google), clean APIs that reduce code complexity, and comprehensive feature set that addresses common Java programming pain points with consistent design principles.
Google core libraries for Java
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Extends Java with new types like Multimap and Multiset, plus immutable collections that are thread-safe and performance-predictable, reducing boilerplate for complex data relationships.
Provides utilities beyond java.util.concurrent, such as ListenableFuture, which are battle-tested in Google's large-scale systems and simplify asynchronous programming.
Includes dedicated data structures and algorithms for graph processing, a feature not commonly found in other Java utility libraries, making it ideal for applications with network or relationship modeling.
Widely used internally at Google and externally, with strong emphasis on immutability and clean APIs, ensuring production-ready components that improve code quality.
APIs marked with @Beta can change or be removed at any time, forcing library developers to use tools like the Guava Beta Checker or repackage to avoid breaking changes.
Serialized forms of objects are not stable across versions, as warned in the README, making Guava unsuitable for applications that persist data using Java serialization.
Some I/O utilities may not work correctly in non-Linux environments, as noted in testing warnings, which can lead to bugs in cross-platform deployments.