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
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%
```
上一篇: cat 命令详解
推荐阅读
-
针对windows系统如何解决openssl_pkey_export(): cannot get key from parameter 1这个问题
-
C# extract img url from web content then download the img
-
springboot 报错 org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type 'com.example.service.HrService' avai
-
python yield、yield from与协程
-
Unknown initial character set index '255' received from server. Initial client character set can be
-
关于yield和yield from
-
skipping archived logs of thread 1 from sequence 29 to 46; already backed up
-
from dns.resolver import Resolver ImportError: No module named dns.resolver
-
Error: cannot fetch last explain plan from PLAN_TABLE
-
AndroidStudio报错:GradleSyncIssues-Could not install Gradle distribution from...