文章目录
- [Guava:Google 的 Java 核心工具库](#Guava:Google 的 Java 核心工具库)
Guava:Google 的 Java 核心工具库
Google 开源的 Java 工具库 Guava,获得了 51,473 个 Star:


Guava 是 Google 内部大量使用的 Java 核心库集合,提供了一整套通用基础设施代码。Java 标准库的覆盖面有限,日常开发中很多需求要自己造轮子,Guava 填的就是这些空白。
核心能力
- **集合框架扩展:**Multimap、Multiset 等新的集合类型,解决了标准集合类不够用的问题。Immutable Collections(不可变集合)线程安全,语义清晰。
- **图结构库:**支持有向图、无向图的建模和遍历,适合处理实体之间存在复杂关联的场景。
- **并发工具:**ListenableFuture、RateLimiter 等,比 JDK 原生的并发工具更顺手。
- **哈希与原生类型:**BloomFilter、MinMaxPriorityQueue 等数据结构,以及 int/long 等原生类型的安全封装。
- **字符串处理:**Splitter、Joiner、CharMatcher 等,字符串操作写起来简洁很多。
- **I/O 工具:**对 java.io 和 java.nio 的封装,文件读写更方便。
接入方式
Maven 项目添加依赖即可,分 JRE 和 Android 两个版本:
xml
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.6.0-jre</version>
</dependency>
Gradle 项目:
groovy
implementation("com.google.guava:guava:33.6.0-jre")
需要兼容 Android 的话,把版本号里的 jre 换成 android 就行。
版本兼容性
Guava 的非 Beta API 保持二进制兼容,不会随意删除或修改。带 @Beta 标注的 API 随时可能变动,如果你的代码本身是被别人依赖的库,建议用 Guava Beta Checker 检查一下,避免引入不稳定的接口。
文档和资源
官方文档在 guava.dev,可以按类名查阅 Javadoc。Snapshot 版本通过 Maven 就能获取,方便提前试用新功能。两种发布模式(JRE 和 Android)的源码分别维护,Android 版本在仓库的 android 目录下。
Guava 从 2010 年开源至今,一直是 Java 生态里最核心的工具库之一。Google 自己的 Java 项目几乎都在用,外部也有大量生产环境依赖它。做 Java 开发的话,这个库迟早会碰到。
Java 项目几乎都在用,外部也有大量生产环境依赖它。做 Java 开发的话,这个库迟早会碰到。