Google Guava 用戶指南 —- 初始Guava類庫

jopen 8年前發布 | 25K 次閱讀 Java開發 Google Guava
 

Guava項目包含多個基于Java基礎的核心類庫:collections(集合), caching(緩存), primitives support(原生類型支持 ), concurrency libraries(并發類庫), common annotations(通用注解), string processing(字符串處理), I/O等。這些工具被google的開發者們廣泛應用在各類產品中。

一般來說,通過JavaDoc并不是學習使用這些類庫的最好方式。所以,我們試著通過一些可讀性較高并且有趣的解釋來幫助開發者了解Guava的特性。

該文檔內容在不斷完善中。

基本工具(Basic utilities)

讓使用Java開發變得更加愉快。

使用并避免null:

null是很模棱兩可的,很多時候會導致令人疑惑的的錯誤,這讓開發人員感到很不舒服。導致很多類似問題的原因都是因為盲目的接受null值。Guava基本工具在處理null的時候一般不會盲目的接受,而是采用拒絕或者快速失敗(fail-fast)的方式處理。

前置條件:

置條件使你的方法更加簡單

常用的Object對象方法:

簡化Object方法方法的實現,比如toString()和hashCode()方法。

排序:

Guava有強大的“流暢的比較器”類。

異常處理:

簡化異常和錯誤的檢查和傳遞

集合(Collections)

Guava對JDK的集合做了擴展,這部分也是Guava中最成熟和被眾所周知的。

不可變集合

可以用作常量的集合,不僅可以進行防御性編程還能提高性能。

新集合類型

實現了一些jdk本身并提供的新集合類型:multisets(多重集),multimaps(多重映射),tables(表),bidirectional maps(雙向映射)等。

強大的工具集合,

提供了一些java.util.Collections中不提供的常用操作。

擴展工具

很輕易的創建集合的裝飾器,或實現迭代器

緩存(Caches)

很實用的本地緩存,并支持各種各樣的失效策略。

函數式風格(Functional idioms)

可以顯著簡化代碼,但請謹慎使用

并發(Concurrency)

強大并且簡單的抽象,讓編寫正確的并發代碼更簡單

ListenableFuture

完成后觸發回調的Future

服務

幫你接管并控制一些復雜的狀態邏輯的開始和結局。

字符串處理(String)

提供幾個非常有用的字符串工具:分割,連接,填充等

原生類型(Primitives)

支持一些jdk并不提供的對基本類型(如intchar,包括某些類型的無符號(unsined)形式)的操作

區間(Ranges)

Guava對可比較的類型提供了強大的API來處理范圍。包括連續和離散類型。

I / O

簡化的I/O操作,特別是針對java5和java6的流和文件的I/O操作。

散列(Hashing)

提供比Object.hashCode()更復雜的散列實現,并提供 布隆過濾器 (Bloom Filter)的實現

事件總線(EventBus)

采用發布-訂閱模式進行組件之間的通信,而無需顯式地注冊。

數學運算(Math)

提供了JDK中并不提供的優化的、經過充分測試的數學工具類

反射(Reflection)

反射機制工具類

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