Guava 是 Google 为 Java 开发者精心打造的一套核心工具库,它不是框架,却比很多框架更常用;它不强制你改变架构,却能让你每天写的代码更简洁、更安全、更健壮。在大量中大型 Java 项目中(包括 Android 应用、后端服务、数据平台),Guava 已成为事实上的“标配依赖”——它帮你绕过 JDK 原生 API 的繁琐与缺陷,把重复造轮子的时间,省下来思考业务逻辑。
核心功能
- 增强集合工具:提供
Multimap(一键存多个值到同一键)、Multiset(带计数的集合)、ImmutableList/Set/Map(不可变集合,线程安全且语义清晰)等 JDK 没有但高频需要的数据结构 - 函数式编程支持:内置
Optional(早于 Java 8 的java.util.Optional,兼容性更强)、Preconditions(轻量断言校验)、Function和Predicate等,让空指针检查、参数验证、链式处理变得直观可靠 - 高并发友好工具:包含
RateLimiter(令牌桶限流)、CacheBuilder(内存缓存构建器,支持自动过期、最大容量、引用清理等)、ListeningExecutorService(可监听任务完成的线程池),大幅降低并发场景下的出错概率 - 字符串与 I/O 实用类:
Joiner和Splitter让字符串拼接与拆分不再依赖正则或手动循环;Files、Resources、CharStreams等封装了 JDK 中冗长易错的文件/资源读写操作 - 图算法与结构支持:内置轻量级图库(
Graph、Network、ValueGraph),支持有向/无向图、带权边、拓扑排序、连通性分析等,适用于推荐系统、依赖解析、权限关系建模等场景 - 基础类型增强:为
int、long、double等原始类型提供Ints、Longs等工具类,支持范围检查、转换、比较、哈希计算,避免装箱开销和NullPointerException
适合哪些人用
如果你是以下任一角色,Guava 几乎就是你的开发“生产力加速器”:
• 使用 Java 8+ 的后端工程师(Spring Boot、Dubbo、Flink 等生态项目广泛集成 Guava)
• Android 开发者(官方提供专适配的 -android 版本,兼容低至 API 14)
• 构建中间件、SDK 或基础组件的架构师(不可变集合、强约束的 API 设计显著提升接口可靠性)
• 正在从 Java 7/8 迁移、希望统一团队工具链的 Tech Lead
• 学习 Java 工程化实践的进阶开发者——Guava 的源码是理解 Google 工程哲学的绝佳入口
快速上手
只需在构建配置中添加一行依赖即可使用(以 Maven 为例):
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.6.0-jre</version>
</dependency>
如需支持 Android 或跨平台兼容,请将版本号改为 33.6.0-android。引入后无需额外配置,直接 import 使用,例如:import com.google.common.collect.ImmutableList;ImmutableList<String> names = ImmutableList.of("张三", "李四");
项目信息
Google core libraries for Java
51.7k
今日 +13 stars today
Stars
11.2k
Forks
Java
Apache-2.0
编程语言:Java|Star 数:51665|开源协议:Apache-2.0|GitHub 项目地址
Guava 不是炫技的玩具,而是经过 Google 内部数万服务、十年以上生产验证的“稳态基建”——用它,不是为了追赶潮流,而是让每一行 Java 代码,都更接近它本该有的清晰与可靠。


