Guava-使用向导

     Guava中包含了Google的一些核心类库:比如集合,缓存,并发包,常用注解,字符串处理,I/O等等。这些工具类被谷歌的工程师们经常用到。

     但是通过查阅文档不是一个有效的学习类库的方式。这儿, 我们尝试提供一写方便查阅的比较常用的Guava工具类。

  • 基础工具: 更加舒适的使用java。

    • Using and avoiding nullnull 可不能被含糊, 能引起一些莫名的错误。许多Guava工具拒绝null并且会快速失败,而不是盲目的接受null。

    • Preconditions: 非常容易的为你的方法做个先决测试。

    • Common object methods: 简单的实现Object方法,像 hashCode() and toString().

    • Ordering: Guava强大的比较类。

    • Throwables: 简化传播检查异常和错误。

  • Collections: Guava对JDK集合的扩展。Guava中用的比较多的地方

    • Immutable collections, 防御性编程,常量集合,提高效率。

    • 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

你可能感兴趣的:(guava,guava,guava,wiki,libs)