你还在用System.currentTimeMillis()打印代码执行时间?
  NrKhGdPqPgIO 2023年12月02日 30 0



文章目录

  • 前言
  • 一、开发环境
  • 二、使用步骤
  • 1. 创建Springboot项目
  • 2. 引入hutool
  • 3. 使用TimeInterval
  • 总结



前言

Hutool是一个小而全的Java工具类库,里面集成了很多实用的工具类,比如文件、流、加密解密、转码、正则、线程、XML等,通过这些工具类就可以快速实现开发。本博客分享Hutool TimeInterval的基本使用,通过这个工具类,以后代码里就不需要为了打印代码执行时间,写了很多System.currentTimeMillis()来计算了

官网:https://hutool.cn/


一、开发环境

  • SpringBoot2.2.1.RELEASE
  • JDK1.8
  • Maven 3.2+
  • Hutool5.7.11

二、使用步骤

1. 创建Springboot项目

新建一个项目,选择Spring Initializr,这里使用spring给我的服务url

你还在用System.currentTimeMillis()打印代码执行时间?_System


选择jdk版本,maven类型的项目

你还在用System.currentTimeMillis()打印代码执行时间?_java_02


官网默认没集成hutool,那就后面手动添加吧

你还在用System.currentTimeMillis()打印代码执行时间?_System_03

2. 引入hutool

maven pom文件加上hutool配置

<dependency>
  <groupId>cn.hutool</groupId>
     <artifactId>hutool-all</artifactId>
     <version>5.7.11</version>
 </dependency>

3. 使用TimeInterval

在没有使用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);

 }

总结

合理使用工具类,可以提高代码开发效率


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月02日 0

暂无评论

推荐阅读
NrKhGdPqPgIO