Google的Java常用類庫:Guava

jopen 10年前發布 | 43K 次閱讀 Guava Java開發

Guava 中文是石榴的意思,該項目是 Google 的一個開源項目,包含許多 Google 核心的 Java 常用庫。

1. 基本工具 [Basic utilities]
    讓使用Java語言變得更舒適
    1.1 使用和避免null:null是模棱兩可的,會引起令人困惑的錯誤,有些時候它讓人很不舒服。很多Guava工具類用快速失敗拒絕null值,而不是盲目地接受
    1.2 前置條件: 讓方法中的條件檢查更簡單
    1.3 常見Object方法: 簡化Object方法實現,如hashCode()和toString()
    1.4 排序: Guava強大的”流暢風格比較器”
    1.5 Throwables:簡化了異常和錯誤的傳播與檢查

2. 集合[Collections]
    Guava對JDK集合的擴展,這是Guava最成熟和為人所知的部分
    2.1 不可變集合: 用不變的集合進行防御性編程和性能提升。
    2.2 新集合類型: multisets, multimaps, tables, bidirectional maps等
    2.3 強大的集合工具類: 提供java.util.Collections中沒有的集合工具
    2.4 擴展工具類:讓實現和擴展集合類變得更容易,比如創建Collection的裝飾器,或實現迭代器

3. 緩存[Caches]
    Guava Cache:本地緩存實現,支持多種緩存過期策略

4. 函數式風格[Functional idioms]
    Guava的函數式支持可以顯著簡化代碼,但請謹慎使用它

5. 并發[Concurrency]
    強大而簡單的抽象,讓編寫正確的并發代碼更簡單
    5.1 ListenableFuture:完成后觸發回調的Future
    5.2 Service框架:抽象可開啟和關閉的服務,幫助你維護服務的狀態邏輯

6. 字符串處理[Strings]
    非常有用的字符串工具,包括分割、連接、填充等操作

7. 原生類型[Primitives]
    擴展 JDK 未提供的原生類型(如int、char)操作, 包括某些類型的無符號形式

8. 區間[Ranges]
    可比較類型的區間API,包括連續和離散類型

9. I/O
    簡化I/O尤其是I/O流和文件的操作,針對Java5和6版本

10. 散列[Hash]
    提供比Object.hashCode()更復雜的散列實現,并提供布魯姆過濾器的實現

11. 事件總線[EventBus]
    發布-訂閱模式的組件通信,但組件不需要顯式地注冊到其他組件中

12. 數學運算[Math]
    優化的、充分測試的數學工具類

13. 反射[Reflection]
    Guava 的 Java 反射機制工具類

項目主頁:http://www.baiduhome.net/lib/view/home/1403782876749

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!