Google Guava介紹
Google Guava是Google的java項目廣泛依賴的核心庫,其功能強大並且高效穩定,我們日常企業開發或學習也可以參考和借鑑Guava.
其對集合Collection、緩存Cache、原生數據類型支持、併發庫、通用註解、字符串處理和IO工具,都提供了高效的支持.
1、基本工具類
1、使用和避免null
2、前置條件(Preconditions)
3、常見的Object方法
4、排序:Guava強大的流暢風格比較器
5、Throwables:簡化異常和錯誤的傳播與檢查
使用和避免null
jdk1.8之後也提供了Optional類來處理null問題(應該是借鑑Guava的)
前置條件
jdk1.8之後也提供了前置條件支持
常見的Object方法
jdk1.7之後Objects方法裏面也提供了一些工具類
2、集合
1、不可變集合(使用不可變集合進行防禦性編程和性能提升)
2、新的結合類型
3、強大的集合工具類(Lists、Maps、Sets等)
4、擴展工具類
備註:強烈推薦使用Guava的集合工具類
3、緩存
Guava Cache:本地緩存實現,支持多種緩存過期策略
4、函數式風格
不推薦使用Guava的函數式風格,推薦使用JDK8的lambda和Stream API.
5、併發
6、字符串處理
字符串常用工具
7、原生類型操作支持
提供對原生類型的操作支持
8、區間(Ranges)
9、I/O工具類
IO工具類個人更推薦apache下的commons io
10、散列
提供比Object.hashCode()更復雜的散列實現,並提供布魯姆過濾器的實現
11、事件總線
發佈-訂閱模式的組件通信,但組件不需要顯式地註冊到其他組件中
12、數學運算(Math)
13、反射(Reflection)
Guava提供的Java反射工具類
總結
Guava的集合部分、Cache、反射部分應該好好的看看其源碼可以從中收穫很多.