Guava:Google 的 Java 核心工具库

文章目录

  • [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 开发的话,这个库迟早会碰到。