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几个类

相关文章
相关标签/搜索