Guava中包含了Google的一些核心类库:好比集合,缓存,并发包,经常使用注解,字符串处理,I/O等等。这些工具类被谷歌的工程师们常常用到。java
可是经过查阅文档不是一个有效的学习类库的方式。这儿, 咱们尝试提供一写方便查阅的比较经常使用的Guava工具类。web
基础工具: 更加温馨的使用java。编程
Using and avoiding null: null 可不能被含糊, 能引发一些莫名的错误。许多Guava工具拒绝null而且会快速失败,而不是盲目的接受null。缓存
Preconditions: 很是容易的为你的方法作个先决测试。并发
Common object methods: 简单的实现Object方法,像 hashCode() and toString().工具
Ordering: Guava强大的比较类。学习
Throwables: 简化传播,检查异常和错误。测试
Collections: Guava对JDK集合的扩展。Guava中用的比较多的地方。优化
Immutable collections, 防护性编程,常量集合,提升效率。google
New collection types, 一些JDK Collections中没有解决的: multisets, multimaps, tables, 双向maps等。
Powerful collection utilities, 一些 java.util.Collections中没有的工具。
Extension utilities: 写一个集合的装配? 实现一个Iterator? 咱们能容易的实现他们。
Caches: 本地缓存,使用得当,并支持过时行为。
Functional idioms: 谨慎使用, Guava的Functional idioms可以显著简化代码。
Concurrency: 功能强大,操做简单的抽象,使之更容易编写正确的并发代码。
ListenableFuture: Futures回调。
Service: 事情的启动和关闭,为你更好的处理有难度的逻辑。
Strings: 不少出色的string处理: splitting, joining, padding等.
Primitives: 操做基本类型像int and char, 以及idk没有提供的,包含一些无符号变量类型。
Ranges: 提供强大处理范围比较,连续和离散范围的API。
I/O: 简单的IO操做, 尤为在java1.5,1.6整个IO流和文件
Hashing: 提供比Object.hashCode(), including Bloom filters更精准的hash。
EventBus: 发布 - 订阅式组件之间的通讯,而不须要的组件相互直接注册。
Math: 优化,全面测试过的JDK没有提供数学的工具。
Reflection: 为java的反射。
----------------------
粗略翻译,敬请谅解。
对应英文地址:https://code.google.com/p/guava-libraries/wiki/GuavaExplained