什么是 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 | 多线程工具包。 |