首先,咱们都有一共识,即可以使用缓存来提升系统的访问速度! 现如今,分布式缓存这么强大,所以,大部分时候,我们可能都不会去关注本地缓存了! 而在一起高并发的场景,如果我们一味使用nosql式的缓存,如 redis, 那么也是好的吧! 但是有个问题我们得考虑下: redis 这样的缓存是快,但是它总有 ...
分类:
其他好文 时间:
2019-05-20 17:00:06
阅读次数:
118
分类 本地缓存(HashMap/ConcurrentHashMap、Ehcache、Guava Cache等), 缓存服务(Redis/Tair/Memcache等)。 使用场景 什么情况适合用缓存?考虑以下两种场景: 1、短时间内相同数据重复查询多次且数据更新不频繁,这个时候可以选择先从缓存查询, ...
分类:
其他好文 时间:
2019-05-19 23:14:04
阅读次数:
163
一、JDK8中Optional的方法使用介绍 空指针异Optional常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。受到Google Gua ...
分类:
其他好文 时间:
2019-05-16 15:05:29
阅读次数:
144
lists //JDKList<String> list = new ArrayList<String>();list.add("a");list.add("b");list.add("c");list.add("d");//GuavaList<String> list = Lists.newArr ...
分类:
其他好文 时间:
2019-04-08 13:16:13
阅读次数:
119
任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法。Guava沿着这些路线提供了更多的工具方法:适用于所有集合的静态方法。这是Guava最流行和成熟的部分之一。 我们用相对直观的方式把工具类与特定集合接口的对应关系归纳如下: 在找类似转化、过滤的方 ...
分类:
编程语言 时间:
2019-03-30 18:33:52
阅读次数:
162
1.尽量避免使用null 1.1 不要在Set中使用null或将null当做map的键值 1.2 map中的值应该都不为null,因为通过get方法可能有二义性,可以对值为空的单独创建一个集合。 Guava中用Optional代表T类型的引用,用引用存在和引用缺失来表示null与非null(不包含n ...
分类:
其他好文 时间:
2019-03-07 14:07:02
阅读次数:
142
Google guava工具类的介绍和使用:https://blog.csdn.net/wwwdc1012/article/details/82228458 Apache Commons 工具类介绍及简单使用:https://www.cnblogs.com/koal/p/5161743.html J ...
分类:
编程语言 时间:
2019-03-06 18:04:06
阅读次数:
156
四种引用类型总结 引用级别:强引用 软引用 弱引用 虚引用 理解 就如最开始说的,设置四种引用类型,是为了更好的控制对象的生命周期,让代码能够一定程度上干涉GC过程,所以引用类型主要就是跟垃圾回收有关了。 对于JVM、GC和内存,可以这样理解,内存好比你的抽屉,这个抽屉有一定大小,并不能无限存放东西 ...
分类:
编程语言 时间:
2019-03-04 20:35:38
阅读次数:
200
这是一种策略,用于决定重试者应如何在重试尝试之间进行阻止。通常这只是一个thread.sleep(),但是如果需要的话,实现可能更复杂。 一、阻塞策略相关的类或接口 1、阻塞策略接口:BlockStrategy 底层默认使用来 Thread.sleep 完成线程阻塞,从而实现重试之间的等待{@lin ...
分类:
其他好文 时间:
2019-02-24 13:43:35
阅读次数:
187
一、时间限制策略相关接口和类 什么是时间限制策略呢?是指在一个时间限制内,包装任何一种重试(尝试)规则,如果超过该限制,那么这个尝试规则可能会被中断,并抛出UncheckedTimeoutException异常。 重试策略接口 AttemptTimeLimiter<V> ,它只有一个方法: 重试策略 ...
分类:
其他好文 时间:
2019-02-24 12:13:23
阅读次数:
264