• 统计耗时 System.currentTimeMillis()


    一、Spring的StopWatch

    1、pom

    <dependency>
    	<groupId>org.springframework</groupId>
    	<artifactId>spring-core</artifactId>
    	<version>5.3.6</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、代码示例

     org.springframework.util.StopWatch stopWatch = new org.springframework.util.StopWatch();
     stopWatch.start("任务1");
     System.out.println("开始任务1");
     Thread.sleep(1000 * 3);
     System.out.println("结束任务1");
     stopWatch.stop();
    
     stopWatch.start("任务2");
     System.out.println("开始任务2");
     Thread.sleep(1000 * 3);
     System.out.println("结束任务2");
     stopWatch.stop();
    
     stopWatch.start("任务3");
     System.out.println("开始任务3");
     Thread.sleep(1000 * 3);
     System.out.println("结束任务3");
     stopWatch.stop();
    
     System.out.println("总任务数:" + stopWatch.getTaskCount());
     System.out.println("总耗时:" + stopWatch.getTotalTimeMillis());
     System.out.println("每个任务具体信息:" + JSONArray.toJSONString(stopWatch.getTaskInfo()));
      log.info("总任务数:{}  总耗时:{}  具体耗时信息:{}", stopWatch.getTaskCount(), stopWatch.getTotalTimeMillis(), JSONArray.toJSONString(stopWatch.getTaskInfo()));
      
    log.info(stopWatch.prettyPrint());
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    二、apache的StopWatch

    1、pom依赖

    <dependency>
    	<groupId>org.apache.commons</groupId>
    	<artifactId>commons-lang3</artifactId>
    	<version>3.6</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2、代码示例

    StopWatch stopWatch = StopWatch.createStarted();
    System.out.println("开始任务1");
    Thread.sleep(1000 * 3);
    System.out.println("结束任务1");
    System.out.println("任务1耗时:" + stopWatch.getTime());
    
    stopWatch.split();
    System.out.println("开始任务2");
    Thread.sleep(1000 * 3);
    System.out.println("结束任务2");
    System.out.println("任务2耗时:" + stopWatch.getSplitTime());
    System.out.println("总耗时:" + stopWatch.getTime());
    
    stopWatch.split();
    System.out.println("开始任务3");
    Thread.sleep(1000 * 3);
    System.out.println("结束任务3");
    System.out.println("任务3耗时:" + stopWatch.getSplitTime());
    System.out.println("总耗时:" + stopWatch.getTime());
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    highcharts 堆积图
    Hive【Hive(一)DDL】
    Python实例化方法、类方法、静态方法
    本地部署AutoGPT
    Minecraft 1.16.5 生化8 模组 1.9版本 1.18版本同步
    Linux_网络基础2_3
    GitLab 内存、cpu资源占用过大问题解决
    谁说后端不能画出美丽的动图?让我来给大家拜个年!
    【STL源码剖析】STL六大组件功能与运用(目录)
    使用 MRKL 系统跨越神经符号鸿沟
  • 原文地址:https://blog.csdn.net/weixin_44635157/article/details/126620746