1. annotations 4个声明式的注解 GwtCompatible--google web toolkit 兼容 GwtIncompatible -- 不兼容 2.base 空值的判断、驼峰转换、大小写转换、字符集、原始类默认值、枚举操做、比较(返回true /false)、(软、弱引用)、 Function函数编程(其实是对象,应该独立一块知识点)、String操做、校验(抛异常) 3.cache 利用jdk实现的cache,有“有则取,不然加载” 自动清除数据、多种清除算法、清除回调功能。 用CacheBuilder.newBuilder() 重要的类LocalCache CacheLoader LoadingCache CacheBuilder.recordStats()用来开启Guava Cache的统计功能。统计打开后,Cache.stats()方法会返回对象以提供以下统计信息: hitRate():缓存命中率; averageLoadPenalty():加载新值的平均时间,单位为纳秒; evictionCount():缓存项被回收的总数,不包括显式清除 4.collect 这是一个很大的包。包含各类集合的抽象类。如BiMap ,Multimap SortedMultiMap. 集合的操做类 5.escape Escapers.Builder builder = Escapers.builder(); builder.addEscape('c',"b"); builder.build().escape("abc");// abb 6.eventbus 设计模式之观察者模式的实现。声明式编程的手法,用@Subscribe标注须要监听的方法, 代码用了反射(对方法的反射)实现调用订阅方法。 7.graph 数学上图的概念。(不明白用处) 8.hash 提供各个类型求hash的方法 9.html 就一个类HtmlEscapers,提供html的转义。感受有用! 10.io JDK的io已经够多了,Guava在来凑一脚 11.net 网络地址和端口,已经URL的转义 12.primitives 对8个原始类型的比较,判断,拼接 13.reflect 反射的各类方法封装。Reflection的newProxy()方法很好。 14.util 重点。 Future 的各类封装。 异步的Callable ,Function。 对Double,DoubleArray,LongMap的原子化封装类。 有名的RateLimiter Service固定服务的生命周期NEW STARTING RUNNING STOPPING TERMINATED FAILED,可是和一般的理解不一样的是, guava约定 TERMINATED FAILED 是最终状态,没法在转变成其余状态。 ListenableFuture 对 JDK的Future的优化,实现异步获取返回结果 2.1 装饰者模式得到ListeningExecutorService。 2.2 ListenableFuture listenableFuture = pool.submit()得到ListenableFuture。 2.3 Futures.addCallback()设置回调函数。 15.xml 就一个类XmlEscapers,提供html的转义。和上面的html包一样套路。