Google Guava介绍
Google Guava是Google的java项目广泛依赖的核心库,其功能强大并且高效稳定,我们日常企业开发或学习也可以参考和借鉴Guava.
其对集合Collection、缓存Cache、原生数据类型支持、并发库、通用注解、字符串处理和IO工具,都提供了高效的支持.
1、基本工具类
1、使用和避免null
2、前置条件(Preconditions)
3、常见的Object方法
4、排序:Guava强大的流畅风格比较器
5、Throwables:简化异常和错误的传播与检查
使用和避免null
jdk1.8之后也提供了Optional类来处理null问题(应该是借鉴Guava的)
前置条件
jdk1.8之后也提供了前置条件支持
常见的Object方法
jdk1.7之后Objects方法里面也提供了一些工具类
2、集合
1、不可变集合(使用不可变集合进行防御性编程和性能提升)
2、新的结合类型
3、强大的集合工具类(Lists、Maps、Sets等)
4、扩展工具类
备注:强烈推荐使用Guava的集合工具类
3、缓存
Guava Cache:本地缓存实现,支持多种缓存过期策略
4、函数式风格
不推荐使用Guava的函数式风格,推荐使用JDK8的lambda和Stream API.
5、并发
6、字符串处理
字符串常用工具
7、原生类型操作支持
提供对原生类型的操作支持
8、区间(Ranges)
9、I/O工具类
IO工具类个人更推荐apache下的commons io
10、散列
提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现
11、事件总线
发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中
12、数学运算(Math)
13、反射(Reflection)
Guava提供的Java反射工具类
总结
Guava的集合部分、Cache、反射部分应该好好的看看其源码可以从中收获很多.