Srings类程序中经常使用。 比如判断字符串是否为空,我们在之前用jdk方法判断是会用下面这个判断语句。 上面的代码如果不注意的话就容易写错,并且不优美。现在采用guava的Strings类进行判断,请看下面的 这样是不是看起来很优雅。 下面开始阅读Strings的源码: 1、nullToEmpt ...
分类:
其他好文 时间:
2017-10-28 19:44:30
阅读次数:
171
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, ...
分类:
其他好文 时间:
2017-10-28 11:09:55
阅读次数:
134
前几天搞了一天,用redis做缓存,还没用两天,今天负责人要我改用谷歌提供的guava做缓存,说是因为redis用的是集群,不符合项目要求,所以今天上午研究了一下guava的缓存,并成功运行,我对比前两天用到的redis,感觉guava更容易上手,下面介绍下guava的缓存使用方法。 guava的j ...
分类:
其他好文 时间:
2017-10-26 15:20:49
阅读次数:
199
Cache<Key,Value> cache =CacheBuilder.newBuilder() .maximumSize(1000) .build();// look Ma, no CacheLoader ... try{ // If the key wasn't in the "easy to ...
分类:
其他好文 时间:
2017-10-03 16:25:42
阅读次数:
169
1.并发 使用CompletableFuture可以控制并发,并且等待所有异步处理完成后返回allOff; 2.限流 使用guava中的RateLimiter可以控制秒级限流。 3.缓存 使用guava中的CacheBuilder和LoadingCache。其中设置超时可用expireAfterAc ...
分类:
其他好文 时间:
2017-09-25 15:16:32
阅读次数:
197
1.问题提出 1.前段时间在项目中用到Lists.transform返回的List,在对该list修改后发现修改并没有反映在结果里,研究源码后发现问题还挺大。下面通过单步调试的结果来查看Guava Lists.transform使用过程中需要注意的地方。 a.对原有的list列表修改会影响Lists ...
分类:
其他好文 时间:
2017-09-09 18:07:04
阅读次数:
475
Guava官方文档-RateLimiter类 原文链接 作者:Dimitris Andreou 译者:魏嘉鹏 校对:方腾飞 RateLimiter 从概念上来讲,速率限制器会在可配置的速率下分配许可证。如果必要的话,每个acquire() 会阻塞当前线程直到许可证可用后获取该许可证。一旦获取到许可证 ...
分类:
其他好文 时间:
2017-09-02 18:59:35
阅读次数:
225
这周在经过前面两天忙碌后,后面集中精力复习了一些IO方面的概念, 在实践、知识整体结构梳理方面要加强。 Java8新特性之Optional 周一,记录了Java8引入的Optional,跟guava里的Optional一样,对java里判null空操作抽象出一个类,使用它可以让代码更简洁易懂: Ja ...
分类:
其他好文 时间:
2017-09-02 16:51:06
阅读次数:
171
上面就是一个性别的枚举,包含男和女,用的时候直接调用就行。 再来看看guava对于枚举的支持。 1、getField()方法 返回变量名为enumValue变量值的Field 2、getIfPresent()方法 根据所给类型一个optional<enum>常量 3、stringConverter( ...
分类:
编程语言 时间:
2017-08-19 22:30:17
阅读次数:
211
今天在找base包下的源码阅读时,看到了Charsets,肯定是定义字符集的类,本来就想简单的看一下。(部分内容摘抄自:http://blog.csdn.net/sundaysunshine/article/details/53954813) 随后想到在web工程里一直会遇到编码问题,于是想总结一下 ...
分类:
其他好文 时间:
2017-08-17 14:41:14
阅读次数:
214