欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

StopWatch from springframework

程序员文章站 2022-07-11 08:12:18
...
##  测试代码
```java
public static void main(String[] args) throws InterruptedException {
StopWatch stopWatch = new StopWatch("StopWatchOfGYYX");

System.out.println("******A计时任务开始******");
stopWatch.start("A逻辑时间测试");
Thread.sleep(1002);
System.out.println("是否正在运行: " + stopWatch.isRunning());
stopWatch.stop();
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("******B计时任务开始******");
stopWatch.start("B逻辑时间测试");
Thread.sleep(1008);
stopWatch.stop();
System.out.println("是否正在运行: " + stopWatch.isRunning());
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("******C计时任务开始******");
stopWatch.start();//"c逻辑时间测试"
Thread.sleep(1006);
stopWatch.stop();
System.out.println("本阶段耗时:" + stopWatch.getLastTaskTimeMillis());
System.out.println("stopWatch总耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("stopWatch总耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("最后一个任务名称:" + stopWatch.getLastTaskInfo().getTaskName());
System.out.println("最后一个任务耗时(mil):" + stopWatch.getLastTaskInfo().getTimeMillis());
System.out.println("最后一个任务耗时(sec):" + stopWatch.getLastTaskInfo().getTimeSeconds());
System.out.println("");
System.out.println("****************************************************************************************");

System.out.println("*******汇总信息*******");
System.out.println("总任务个数:" + stopWatch.getTaskCount());
System.out.println("总任务耗时(mil):" + stopWatch.getTotalTimeMillis());
System.out.println("总任务耗时(sec):" + stopWatch.getTotalTimeSeconds());
System.out.println("总任务简要:" + stopWatch.shortSummary());
System.out.println("");

System.out.println("****************************************************************************************");
System.out.println("*******任务列表遍历*******");
TaskInfo[] taskInfo = stopWatch.getTaskInfo();
for (int i = 0; i < taskInfo.length; i++) {
System.out.println("总任务列表【" + i + "】名字:" + taskInfo[i].getTaskName());
System.out.println("总任务列表【" + i + "】耗时mil:" + taskInfo[i].getTimeMillis());
System.out.println("总任务列表【" + i + "】耗时sec:" + taskInfo[i].getTimeSeconds());

}


System.out.println("****************************************************************************************");
System.out.println("******格式化显示********");
System.out.println(stopWatch.prettyPrint());
}
```

## 执行结果

```txt
******A计时任务开始******
是否正在运行: true
本阶段耗时:1003
stopWatch总耗时(mil):1003
stopWatch总耗时(sec):1.003
最后一个任务名称:A逻辑时间测试
最后一个任务耗时(mil):1003
最后一个任务耗时(sec):1.003

****************************************************************************************
******B计时任务开始******
是否正在运行: false
本阶段耗时:1008
stopWatch总耗时(mil):2011
stopWatch总耗时(sec):2.011
最后一个任务名称:B逻辑时间测试
最后一个任务耗时(mil):1008
最后一个任务耗时(sec):1.008

****************************************************************************************
******C计时任务开始******
本阶段耗时:1007
stopWatch总耗时(mil):3018
stopWatch总耗时(sec):3.018
最后一个任务名称:
最后一个任务耗时(mil):1007
最后一个任务耗时(sec):1.007

****************************************************************************************
*******汇总信息*******
总任务个数:3
总任务耗时(mil):3018
总任务耗时(sec):3.018
总任务简要:StopWatch 'StopWatchOfGYYX': running time (millis) = 3018

****************************************************************************************
*******任务列表遍历*******
总任务列表【0】名字:A逻辑时间测试
总任务列表【0】耗时mil:1003
总任务列表【0】耗时sec:1.003
总任务列表【1】名字:B逻辑时间测试
总任务列表【1】耗时mil:1008
总任务列表【1】耗时sec:1.008
总任务列表【2】名字:
总任务列表【2】耗时mil:1007
总任务列表【2】耗时sec:1.007
****************************************************************************************
******格式化显示********
StopWatch 'StopWatchOfGYYX': running time (millis) = 3018
-----------------------------------------
ms     %     Task name
-----------------------------------------
01003  033%  A逻辑时间测试
01008  033%  B逻辑时间测试
01007  033% 

```
相关标签: java