[Guava官方文檔翻譯] 1.Guava簡介 (Introduction)

用戶指南java

Guava包含Google在Java項目中用到的一些核心庫:collections, caching, primitives support, concurrency 庫, common annotations, string 處理, I/O等。Google工程師們在開發中天天都使用這些工具。編程

可是,要學習如何用好這些庫,通讀Javadoc並非最有效的方法。在這裏,咱們嘗試用一種可讀性強、輕鬆愉快的方法來介紹Guava中最經常使用和最強大的特性。緩存

這個wiki還在編寫過程當中,一些部分可能還未完成。併發

  • Basic utilities: 讓編寫Java更愉快
    • 使用和避免使用nullnull 含義模糊,可能引發莫名其妙的error,並且就是讓人討厭。不少Guava utilities拒絕盲目使用null。
    • 前置條件(preconditions): 更方便地測試方法的前置條件。
    • Common object方法: 簡化Object類方法的實現,如hashCode()和toString()。
    • 排序: Guava強大的"fluent Comparator"類.
    • 拋出異常: 簡化exception和error的傳遞和檢驗。
  • Collections: Guava對JDK collections ecosystem的擴展。這是Guava最成熟和最經常使用的部分之一。
    • 不可變collection,支持防護性編程、常量集合使用,也能夠提升效率。
    • 新的collection類型,補充JDK collection不夠完善的應用場景:multisets, multimaps, tables, bidirectional maps等。
    • 強大的collection utilities,補充java.util.Collections缺少的經常使用操做。
    • Extension utilities:要寫Collection decorator?實現Iterator接口?咱們讓這些更方便。
  • Caches: 正確實現的本地緩存,支持多種多樣的有效期(expiration)設定。
  • Functional idioms: 謹慎使用Guava的functional idiom能夠顯著簡化代碼。
  • Concurrency: 強大而簡潔的抽象結構讓編寫併發代碼更簡單。
    • ListenableFuture: Future模式,結束時調用回調函數。
    • Service: 只需指定開啓和終止,替你管理其餘複雜的狀態邏輯。
  • Strings: 一些極其有用的string utilities:splitting, joining, padding等。
  • Primitives: 補充JDK中沒有的,如int和char等基本類型的操做。包括一些類型的unsigned變體。
  • Ranges: Guava's有強大的API來處理Comparable類型的範圍問題,包括值爲連續和值爲離散的類型。
  • I/O: 簡化I/O操做,尤爲是在I/O流和文件上。支持Java 5和6。
  • Hashing: 比Object.hashCode()更高級的hash工具,包括Bloom filter。
  • EventBus: Publish-subscribe-style的組件交流,無需組件間顯式註冊。
  • Math: JDK中沒有的,優化後的、完全測試過的math utilities。
  • Reflection: 提供Java的反射功能的Guava utilities。
  • 小提示: 讓你駕輕就熟地運用Guava。
    • 理念: Guava是什麼/不是什麼,及咱們的目標。
    • 在你的build中使用Guava,如Maven, Gradle等管理工具。
    • 使用ProGuard來避免在你的JAR中加入冗餘的Guava部件。
    • Apache Commons equivalents,幫助你翻譯使用了Apache Commons Collections的代碼。
    • 兼容性:Guava各個版本的更新細節。
    • 提議墳場,被完全否決的特性提議。
    • 友情連接,咱們欣賞的其餘開源項目。

注意: 要討論本wiki的內容,請發郵件至guava-discuss mailing list。函數

中文翻譯自Guava官方文檔:GuavaExplained - Introduction工具

相關文章
相關標籤/搜索