guava包含了java項目依賴的幾個google核心庫,集合,緩存,原始的支持,併發庫,基本的註解,字符串處理,i/o等等
基本的特點
- 避免了null
- 前置檢查 testpreconditions
- 基本對象方法 hashcoe()
- 排序 強大的fluent comparator 類
- 異常處理 簡化增強和檢查異常和錯誤
集合
擴展集合 擴展了jdk的集合生態,有一些成熟的流行的使用方法;
不可變的集合 防禦性的變成,常量集合,改善的性能;
新的集合類型 multisets multimaps tables bidrectional maps 等;
強大的集合工具 java.util.collections中沒有提供的一般操作;
擴展的工具 寫一個集合的裝飾器,我們這裏更簡單
圖表
爲圖類型的數據創建的結構,實體和之間的聯繫 graph valuegraph network
緩存cache
本地緩存,支持大範圍的有效操作
功能性語法:能夠簡化操作
併發:
強大的簡單的抽象,能夠簡單的寫出正確的代碼
listenablefutre:futures ,完成之後的回調
訂閱 :能夠開啓和關閉,關注不同的狀態
字符串:一些有用的方法 拆分合並,添加等
原生方法 :原生類型如int char 上面的操作,而jdk卻沒有支持
範圍操作: 強大的方法處理實現了比較接口的類型,不管是連續的還是間斷的
i/o操作:簡化io操作特別是jdk5,6中在文件和流上的操作
hashing: 更多的hash方法,包含bloom過濾
eventbus:發佈訂閱:在組件之間通信,相互之間不需要明確的註冊關係
math:數學相關的,是jdk沒有提供的相關方法
反射: guava對java中的反射進行了進一步的優化