【Guava】
Guava
zero__007
这个作者很懒,什么都没留下…
展开
-
ListenableFuture
转载自:http://www.cnblogs.com/hupengcool/p/3991310.htmlListenableFuture的说明 Guava定义了ListenableFuture接口并继承了JDK concurrent包下的Future接口,ListenableFuture允许注册回调方法(callbacks),在运算(多线程执行)完成的时候进行调用,或转载 2015-11-17 17:04:03 · 1525 阅读 · 0 评论 -
guava学习
Guava是Google出品的一套Java核心库。相较于Java中自带的一些库来说,使用很方便。推荐使用。以下示例引用的是guava-18.0.jar1.Guava对JDK集合的扩展1.简化集合的创建Map> map1 = Maps.newHashMap();List>> arrayList = Lists.newArrayList();List exactly100原创 2015-07-04 17:44:21 · 1017 阅读 · 0 评论 -
Immutable(不可变)集合
immutable不可变集合,即集合是不可被修改的。 对于immutable对象,它是线程安全的,在多线程下安全,没有竞态条件,而且由于不需要支持可变性, 可以尽量节省空间和时间的开销. 所有的不可变集合实现都比可变集合更加有效的利用内存。在JDK中提供了Collections.unmodifiableXXX系列方法来实现不可变集合, 但是存在一些问题。List<S...原创 2016-02-26 16:15:54 · 14657 阅读 · 0 评论 -
Table集合
当需要多个索引的数据结构的时候,通常情况下,会用到Map>来实现。如下构建 > 的数据结构:Map> dateMap = new HashMap<>();for (int i = 2015; i <= 2016; i++) { for (int j = 1; j < 3; j++) { Map map = dateMap.get(String.valueOf(i原创 2016-02-26 16:52:04 · 1093 阅读 · 0 评论 -
RateLimiter
转载自:http://ifeve.com/guava-ratelimiter/ RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证,不需要再释放许可证。 RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一转载 2017-01-05 10:26:01 · 843 阅读 · 0 评论 -
Guava Cache
http://blog.csdn.net/zero__007/article/details/46756561缓存统计 使用recordStats()打开缓存统计功能:LoadingCache cache = CacheBuilder.newBuilder().recordStats().maximumSize(3). build(new Cache原创 2017-07-04 20:25:02 · 537 阅读 · 0 评论 -
Joiner、Strings、Splitter使用
Strings//padEnd 尾填充String a = "12345";String b = Strings.padEnd(a, 7, 'x');System.out.println(b); // 12345xx//padStart 头填充String a="12345";String b=Strings.padStart(a, 7, 'x');System.out.print原创 2017-09-04 18:53:54 · 572 阅读 · 0 评论