Guava一些高效類的使用實踐

guava是google的一個強大的工具包,目前已經更新到版本22 https://github.com/google/guava,一直有斷斷續續的用過一些方法,可是沒有系統的擼一遍全部功能git

 

今天參考併發編程網記錄一些高效的工具方法 http://ifeve.com/google-guava/github

 

1 Optional表示可能爲null的引用,用存在或者缺失來表示null或者非null,get(),or(),orNull()是三種不一樣處理null的返回方法編程

 

2 Preconditions能夠用來作一些前置檢查,很是時候參數非空校驗緩存

 

3 Object的toStringHelper 在重定義tostring的時候很是有效併發

 

4 使用Ordering來快速排序,能夠構建一個ordering對象並調用max()或者min()工具

 

5 使用不可變集合ImmutableXXX,建立的方法 有of(),copyOf()或者builder()ui

 

6 Guava的新集合有Multiset,Multimap,BiMap,Table,ClassToInstanceMap,RangeSet,RangeMap ,每個都是神器啊google

 

7 Guava提供了集合類的增強類,好比Collections2,XXs等orm

 

8 LoadingCache能夠用來作緩存,使用CacheBuilder來構造對象

 

9 併發編程上,ListenableFuture能夠高效的替換Future

 

10 Service接口能夠用來封裝一個服務對象的狀態

 

11 字符串處理上增長了幾個處理類,Joiner,Splitter,CharMatcher,Charsets,CaseFormat

 

12 Guava對原生類型提供了包裝的工具類,通常是JAVA原生包裝類後面加一個s

 

13 Guava提供了Range表示區間

 

14 Guava的字符流和字節流的處理類在ByteStreams 和CharStreams中。可讀類爲 ByteSource CharSource 可寫類爲 ByteSink CharSink

 

15 com.google.common.hash包提供了散列的操做類HashFunction,Hasher,Funnel,HashCode,BloomFilter

 

16Guava提供的運算工具類分別叫作IntMath、LongMath和BigIntegerMath,DoubleMath

 

17 反射技術上,Guava提供了TypeToken,Invokable,Reflection,ClassPath幾個類

相關文章
相關標籤/搜索