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