原文鏈接 譯文鏈接 譯者: 沈義揚(yáng),羅立樹,,何一昕,,武祖 校對(duì):方騰飛 引言 Guava工程包含了若干被Google的 Java項(xiàng)目廣泛依賴 的核心庫(kù),例如:集合 [collections] ,、緩存 [caching] ,、原生類型支持 [primitives support] 、并發(fā)庫(kù) [concurrency libraries] ,、通用注解 [common annotations] ,、字符串處理 [string processing] 、I/O 等等,。 所有這些工具每天都在被Google的工程師應(yīng)用在產(chǎn)品服務(wù)中,。 查閱Javadoc并不一定是學(xué)習(xí)這些庫(kù)最有效的方式。在此,,我們希望通過(guò)此文檔為Guava中最流行和最強(qiáng)大的功能,,提供更具可讀性和解釋性的說(shuō)明。
譯文格式說(shuō)明
目錄 1. 基本工具 [Basic utilities]讓使用Java語(yǔ)言變得更舒適 1.1 使用和避免null:null是模棱兩可的,,會(huì)引起令人困惑的錯(cuò)誤,有些時(shí)候它讓人很不舒服,。很多Guava工具類用快速失敗拒絕null值,,而不是盲目地接受 1.2 前置條件: 讓方法中的條件檢查更簡(jiǎn)單 1.3 常見Object方法: 簡(jiǎn)化Object方法實(shí)現(xiàn),,如hashCode()和toString() 1.4 排序: Guava強(qiáng)大的”流暢風(fēng)格比較器” 1.5 Throwables:簡(jiǎn)化了異常和錯(cuò)誤的傳播與檢查 2. 集合[Collections]Guava對(duì)JDK集合的擴(kuò)展,,這是Guava最成熟和為人所知的部分 2.1 不可變集合: 用不變的集合進(jìn)行防御性編程和性能提升,。 2.2 新集合類型: multisets, multimaps, tables, bidirectional maps等 2.3 強(qiáng)大的集合工具類: 提供java.util.Collections中沒有的集合工具 2.4 擴(kuò)展工具類:讓實(shí)現(xiàn)和擴(kuò)展集合類變得更容易,,比如創(chuàng)建Collection的裝飾器,或?qū)崿F(xiàn)迭代器 3. 緩存[Caches]Guava Cache:本地緩存實(shí)現(xiàn),,支持多種緩存過(guò)期策略 4. 函數(shù)式風(fēng)格[Functional idioms]Guava的函數(shù)式支持可以顯著簡(jiǎn)化代碼,,但請(qǐng)謹(jǐn)慎使用它 5. 并發(fā)[Concurrency]強(qiáng)大而簡(jiǎn)單的抽象,讓編寫正確的并發(fā)代碼更簡(jiǎn)單 5.1 ListenableFuture:完成后觸發(fā)回調(diào)的Future 5.2 Service框架:抽象可開啟和關(guān)閉的服務(wù),,幫助你維護(hù)服務(wù)的狀態(tài)邏輯 6. 字符串處理[Strings]非常有用的字符串工具,包括分割,、連接,、填充等操作 7. 原生類型[Primitives]擴(kuò)展 JDK 未提供的原生類型(如int、char)操作,, 包括某些類型的無(wú)符號(hào)形式 8. 區(qū)間[Ranges]可比較類型的區(qū)間API,,包括連續(xù)和離散類型 9. I/O簡(jiǎn)化I/O尤其是I/O流和文件的操作,針對(duì)Java5和6版本 10. 散列[Hash]提供比Object.hashCode()更復(fù)雜的散列實(shí)現(xiàn),,并提供布魯姆過(guò)濾器的實(shí)現(xiàn) 11. 事件總線[EventBus]發(fā)布-訂閱模式的組件通信,,但組件不需要顯式地注冊(cè)到其他組件中 12. 數(shù)學(xué)運(yùn)算[Math]優(yōu)化的、充分測(cè)試的數(shù)學(xué)工具類 13. 反射[Reflection]Guava 的 Java 反射機(jī)制工具類 原創(chuàng)文章,,轉(zhuǎn)載請(qǐng)注明: 轉(zhuǎn)載自并發(fā)編程網(wǎng) – 本文鏈接地址: Google Guava官方教程(中文版) 沈義揚(yáng)本站的翻譯主編,。關(guān)注并發(fā)編程,面向?qū)ο笤O(shè)計(jì),,分布式系統(tǒng),。 Related posts:
|
|