Google Guava 使用者指南 —- 初始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)
反射機制工具類
相關文章
- [Guava] Google Guava 集合工具類GuavaGo
- 《Google Guava—集合篇》GoGuava
- Google guava工具類的介紹和使用GoGuava
- google guava集合之MultisetGoGuava
- (翻譯)Google Guava CacheGoGuava
- Google guava原始碼之EventBusGoGuava原始碼
- Guava庫介紹Guava
- google guava的BiMap:雙向MapGoGuava
- Google Guava Stopwatch(計時器)GoGuava
- Google Guava官方教程(中文版)GoGuava
- GuavaGuava
- 強大的 Guava 工具類Guava
- 使用Google Guava快樂程式設計GoGuava程式設計
- google Guava包RateLimiter使用最佳實踐GoGuavaMIT
- Guava文件翻譯之 Guava簡介Guava
- Guava CacheGuava
- Guava futureGuava
- google guava中定義的String操作GoGuava
- 使用Java和Google Guava簡化開發JavaGoGuava
- Guava Preconditions類的各種用法Guava
- 5個 Google Guava 鮮為人知的特性GoGuava
- Guava RateLimiter限流GuavaMIT
- ☕【Java技術指南】「Guava Collections」實戰使用相關Guava不一般的集合框架JavaGuava框架
- guava之Joiner 和 SplitterGuava
- Guava翻譯之SmallFunctionGuavaFunction
- Guava 之 Joiner 和 SplitterGuava
- 工具篇:介紹幾個好用的guava工具類Guava
- Google Guava 在實際場景中的應用封裝GoGuava封裝
- Java記憶體快取-通過Google Guava建立快取Java記憶體快取GoGuava
- Java經典類庫-Guava中的函數語言程式設計講解JavaGuava函數程式設計
- Guava RateLimiter限流器使用示例GuavaMIT
- Guava集合--Immutable(不可變)集合Guava
- Guava集合--新集合型別Guava型別
- Guava字串處理Joiner、SplitterGuava字串
- Guava 原始碼分析(Cache 原理)Guava原始碼
- Guava學習:Cache快取Guava快取
- Guava原始碼淺析——JoinerGuava原始碼
- Guava ListenableFuture介紹以及使用Guava