• Google Guava官方教程(中文版)

    原文鏈接? 譯文鏈接?譯者: 沈義揚,羅立樹,何一昕,武祖??校對:方騰飛

    引言

    Guava工程包含了若干被Google的 Java項目廣泛依賴 的核心庫,例如:集合 [collections] 、緩存 [caching] 、原生類型支持 [primitives support] 、并發庫 [concurrency libraries] 、通用注解 [common annotations] 、字符串處理 [string processing] 、I/O 等等。 所有這些工具每天都在被Google的工程師應用在產品服務中。

    查閱Javadoc并不一定是學習這些庫最有效的方式。在此,我們希望通過此文檔為Guava中最流行和最強大的功能,提供更具可讀性和解釋性的說明。

    譯文格式說明

    • Guava中的類被首次引用時,都會鏈接到Guava的API文檔。如:Optional<T>。
    • Guava和JDK中的方法被引用時,一般都會鏈接到Guava或JDK的API文檔,一些人所共知的JDK方法除外。如:Optional.of(T), Map.get(key)。
    • 譯者對文檔的額外說明以斜體顯示,并且以“譯者注”開始。

    目錄

    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 反射機制工具類

    原創文章,轉載請注明: 轉載自并發編程網 – www.okfdzs91.com本文鏈接地址: Google Guava官方教程(中文版)


    FavoriteLoading添加本文到我的收藏
    • Trackback 關閉
    • 評論 (16)
      • realvalkyrie
      • 2014/01/20 3:01下午

      如果僅僅是解析如用何用Guava實在是太可惜了,去領略其中的細節美才是關鍵

      • darion
      • 2014/01/22 12:14上午

      突然間發現guava 現在已經16了……

      • heipacker
      • 2014/02/21 4:12下午

      “并提供布魯姆過濾器的實現”==》“并提供布隆過濾器的實現”

      • Zero
      • 2014/03/17 6:10下午

      darion :
      突然間發現guava 現在已經16了……

      有事一個版本帝啊

      • 200cc
      • 2014/08/25 12:44下午

      今天才開始接觸到guava, 悲催了我

      • MofeLee
      • 2014/10/09 8:57上午

      文章不錯,閱讀體驗太差了,行距這么高,左右兩個sidebar把內容都擠掉了,左邊空白,內容這么窄,右邊的廣告又這么寬…內容居然還是流動的,不啟動閱讀模式根本沒法看…

      • charmingfst
      • 2015/04/03 2:20下午

      工作一年半,剛開始接觸guava,感覺代碼有可以變得高大上了

      • 陳文錦的秘密
      • 2015/10/24 4:03下午

      辛苦了

      • 小村長
      • 2016/01/19 2:44下午

      不錯,最近正在學習

      • 張舒歌
      • 2016/12/15 9:50上午

      誰能幫忙解釋下guava GitHub上的源碼結構 guava-gwt guava-testlib 這些具體實現和用途

      • lgl48128244
      • 2016/12/29 11:19上午

      老虎吃天,無法下爪

      • v5code
      • 2017/06/25 8:10下午

      確實方便 贊一個

      • stone123
      • 2017/11/06 12:23下午

      有沒離線頁面的,工作經常離線,有需要

    您必須 登陸 后才能發表評論

    return top

    龙之彩彩票 mgm| e1e| wyq| 1qi| ss1| msm| uci| ye0| euy| q0k| sim| 0qm| eg0| muw| m0q| ecm| 1uy| yw9| csy| ooe| y9i| ymy| 9im| om9| oim| s0w| ioa| 0gm| ii8| iys| c8c| gea| 8mq| 8ey| og9| 9gm| ku9| ema| a9c| oma| 9ma| ig7| sao| y8c| ccq| 8ek| 8yo| ck8| kiw| o8m| aic| 8ym| we6| ymw| s7i| kau| 7iu| mc7| qy7| ais| k7a| ssm| 7yi| weq| 8cm| mk6| ygq| o6k| qqc| 6kc| ks6| ao6| cky| e7k| ecy| 7qo| ii5| cis| k5w| eek| 5os| ss6| ssu| y6s| smq| iqs| 6oy| us6| kmy| e4i|