Hutool是一个小而全的Java工具类库,里面集成了很多实用的工具类,比如文件、流、加密解密、转码、正则、线程、XML等,通过这些工具类就可以快速实现开发。本博客分享Hutool TimeInterval
的基本使用,通过这个工具类,以后代码里就不需要为了打印代码执行时间,写了很多System.currentTimeMillis()
来计算了
新建一个项目,选择Spring Initializr,这里使用spring给我的服务url
选择jdk版本,maven类型的项目
官网默认没集成hutool,那就后面手动添加吧
maven pom文件加上hutool配置
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.11</version>
</dependency>
在没有使用huttol之前,我们打印一下代码的执行时间,都需要通过System.currentTimeMillis()
进行打印,如果代码块很多逻辑,就需要多次使用System.currentTimeMillis()
@Test
void testNeedTime() {
long startTime = System.currentTimeMillis();
AtomicInteger num1 = new AtomicInteger(1);
IntStream.range(1,10).forEach(i-> num1.incrementAndGet());
long endTime1 = System.currentTimeMillis();
log.info("耗时: {}" , endTime1 - startTime);
AtomicInteger num2 = new AtomicInteger(1);
IntStream.range(1,100).forEach(i-> num2.incrementAndGet());
long endTime2 = System.currentTimeMillis();
log.info("耗时: {}" , endTime2 - endTime1 );
}
引入huttol之后,创建一个TimeInterval
,就可以多次使用,提高了代码的简洁性
@Test
void contextLoads() {
TimeInterval timeInterval = DateUtil.timer();
AtomicInteger num1 = new AtomicInteger(1);
IntStream.range(1,10).forEach(i-> num1.incrementAndGet());
log.info("耗时: {} s" , timeInterval.intervalRestart() / 1000);
log.info("num: {}" , num1);
AtomicInteger num2 = new AtomicInteger(1);
IntStream.range(1,100).forEach(i-> num2.incrementAndGet());
log.info("耗时: {} s" , timeInterval.intervalRestart() / 1000);
log.info("num: {}" , num2);
}
合理使用工具类,可以提高代码开发效率