Google Guava介绍

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、反射部分应该好好的看看其源码可以从中收获很多.

参考

1、https://github.com/google/guava/wiki

你可能感兴趣的:(优秀开源框架和组件)