Google Guava

Guava 工程包含了若干被 Google 的 Java 项目广泛依赖的核心库,例如:集合【collections】、缓存【caching】、原生类型支持【primitives support】、并发库【concurrency libraries】、通用注解【common annotations】、字符串处理【string processing】、I/O 和 验证等等。所有这些工具每天都在被 Google 的工程师应用在产品服务中。

什么是 Guava

Guava 工程包含了若干被 Google 的 Java 项目广泛依赖的核心库,例如:集合【collections】、缓存【caching】、原生类型支持【primitives support】、并发库【concurrency libraries】、通用注解【common annotations】、字符串处理【string processing】、I/O 和 验证等等。所有这些工具每天都在被 Google 的工程师应用在产品服务中。

Guava 对 JDK 集合的扩展,这是 Guava 最成熟和为人所知的部分。

  • 1、不可变集合:用不变的集合进行防御性编程和性能提升。
  • 2、新集合类型:multisets, multimaps, tables,等。
  • 3、强大的集合工具类:提供 java. Util. Collections 中没有的集合工具。
  • 4、扩展工具类:让实现和扩展集合类变得更容易,比如创建 Collection 的装饰器,或实现迭代器。

使用 Guava 的好处

  • 标准化:Guava库是由谷歌托管。
  • 高效可靠:快速和有效的扩展JAVA标准库
  • 优化:Guava 库经过高度的优化。
  • 函数式编程:增加JAVA功能和处理能力。
  • 实用程序:提供了经常需要在应用程序开发的许多实用程序类。
  • 验证:提供标准的故障安全验证机制。
  • 最佳实践:强调最佳的做法。

包结构

说明
com.google.common.annotations 普通注解类型。
com.google.common.base 基本工具类库和接口。
com.google.common.cache 缓存工具包,非常简单易用且功能强大的JVM内缓存。
com.google.common.collect 带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合。
com.google.common.eventbus 发布订阅风格的事件总线。
com.google.common.hash 哈希工具包。
com.google.common.io I/O工具包。
com.google.common.math 原始算术类型和超大数的运算工具包。
com.google.common.net 网络工具包。
com.google.common.primitives 八种原始类型和无符号类型的静态工具包。
com.google.common.reflect 反射工具包。
com.google.common.util.concurrent 多线程工具包。