guava包含了java项目依赖的几个google核心库,集合,缓存,原始的支持,并发库,基本的注解,字符串处理,i/o等等
基本的特点
- 避免了null
- 前置检查 testpreconditions
- 基本对象方法 hashcoe()
- 排序 强大的fluent comparator 类
- 异常处理 简化增强和检查异常和错误
集合
扩展集合 扩展了jdk的集合生态,有一些成熟的流行的使用方法;
不可变的集合 防御性的变成,常量集合,改善的性能;
新的集合类型 multisets multimaps tables bidrectional maps 等;
强大的集合工具 java.util.collections中没有提供的一般操作;
扩展的工具 写一个集合的装饰器,我们这里更简单
图表
为图类型的数据创建的结构,实体和之间的联系 graph valuegraph network
缓存cache
本地缓存,支持大范围的有效操作
功能性语法:能够简化操作
并发:
强大的简单的抽象,能够简单的写出正确的代码
listenablefutre:futures ,完成之后的回调
订阅 :能够开启和关闭,关注不同的状态
字符串:一些有用的方法 拆分合并,添加等
原生方法 :原生类型如int char 上面的操作,而jdk却没有支持
范围操作: 强大的方法处理实现了比较接口的类型,不管是连续的还是间断的
i/o操作:简化io操作特别是jdk5,6中在文件和流上的操作
hashing: 更多的hash方法,包含bloom过滤
eventbus:发布订阅:在组件之间通信,相互之间不需要明确的注册关系
math:数学相关的,是jdk没有提供的相关方法
反射: guava对java中的反射进行了进一步的优化