一、停止策略相关类 1、停止策略接口:StopStrategy接口,只有一个抽象方法 2、停止策略工厂类:StopStrategies类 这是一个常量类、工厂类,用于创建停止策略对象。这个工厂类里面定义了三种停止策略,都是常量静态内部类。 该工厂类是创建停止策略的唯一途径。 二、详解三种停止策略 1 ...
分类:
其他好文 时间:
2019-02-23 20:37:06
阅读次数:
263
目录 一、引子 二、使用方法 2.1 CacheBuilder有3种失效重载模式 2.2 测试验证 三、源码剖析 3.1 简介 3.2 源码剖析 四、总结 优点: 缺点: 目录 一、引子 二、使用方法 2.1 CacheBuilder有3种失效重载模式 2.2 测试验证 三、源码剖析 3.1 简介 ...
分类:
系统相关 时间:
2019-02-19 13:33:25
阅读次数:
231
map常用的声明方式(使用静态代码块): 一种简约方式: 这种方式,相当于重载HashMap的一个匿名实现。向原有的HashMap中添加了一个匿名构造方法。 List/Set变量的声明方式: 另外一种map常量方式: 添加guava依赖: 代码: 测试结果: ...
分类:
其他好文 时间:
2019-02-17 20:29:43
阅读次数:
190
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotat ...
分类:
其他好文 时间:
2019-02-12 17:13:30
阅读次数:
164
Spring Boot mybatis plus代码生成器和自带CRUD接口 lombok 库: Apache Commons & guava AOP Java8: stream & lambda 反射 日志取代debug IDEA:使用恰当的开发工具并熟悉、熟练使用其功能 单元测试:不必运行整个项 ...
分类:
编程语言 时间:
2019-02-03 15:33:22
阅读次数:
248
还有**一些工具类可以用来减少代码量,使编程模式更清晰**。例如,Google的guava框架提供了一些先决条件工具,帮助程序员快速进行参数检测。前提条件中存在静态方法checkNotNull。如果不为空,则返回检测到的对象本身。如果检测到的对象为空,则会引发NullPointerException ...
分类:
编程语言 时间:
2019-01-29 18:22:48
阅读次数:
170
一 .概述 在我们之前的日志之中,多数存在一个这样的使用场景,就是记录一个操作的执行时间.我们一般都会使用一个标准的模板代码来完成这个操作,guava为此提供了一个更好的工具类StopWatch来帮助我们完成这个操作. 二 .演示例子 在StopWatch之中,我们完成了对业务处理时间的计算. 通过 ...
分类:
其他好文 时间:
2019-01-29 11:57:10
阅读次数:
170
1.checkArgument 2.checkState 3.checkNotNull 4.checkElementIndex 5.checkPositionIndex 该类就这五种重载方法。 1. checkArgument 用作检查参数 2. checkState 用作检查状态 3.checkN ...
分类:
其他好文 时间:
2019-01-29 11:54:10
阅读次数:
142
比如这里存xml,这里判断了一下element是否为空,来避免空指针异常,推荐用guava的optional判空 ...
分类:
编程语言 时间:
2019-01-25 11:37:07
阅读次数:
168
在服务器负载过大,如何让新的线程等待或者友好的拒绝服务? 简单方式使用线程池 开源技术guava、hystrix 线程池的基本作用 利用线程池管理并复用线程、控制最大并发数 实现任务线程队列缓存策略和拒绝机制 实现某些与时间相关的功能 定时执行 周期执行 隔离线程环境 比如交易服务和搜索服务在同一台 ...
分类:
编程语言 时间:
2019-01-19 14:27:15
阅读次数:
204