JAVA中用StopWatch计算代码耗时的方法
StopWatch翻译过来的意思就是秒表,其作用也就像我们平时使用的秒一样。spring中就有提供这个工具类(org.springframework.util.StopWatch)。
日常开发中,经常需要看方法各部分的耗时,通常的做法就是通过插桩的方式来统计耗时,如下:
1 long startTime = System.currentTimeMillis(); 2 Thread.sleep(1000); 3 long finishTime = System.currentTimeMillis(); 4 System.out.println("请求耗时:" + (finishTime - startTime));
如果有多个就要重复写多个,比较繁琐,这个时候就可以用StopWatch工具类。如下:
1 StopWatch sw = new StopWatch(); 2 3 sw.start("校验耗时"); 4 Thread.sleep(1000); 5 sw.stop(); 6 7 sw.start("组装报文耗时"); 8 Thread.sleep(2000); 9 sw.stop(); 10 11 sw.start("请求耗时"); 12 Thread.sleep(1000); 13 sw.stop(); 14 15 System.out.println(sw.prettyPrint()); 16 System.out.println(sw.getTotalTimeMillis());
即使需要加多个位置,也很方便,用prettyPrint方法,可以带格式自动输出各个任务的情况,如下:
StopWatch还有一些其他的方法可以使用:
prettyPrint:用自带格式输出所有任务信息。
getTaskInfo:获取所有任务的信息,即各个任务的名称和耗时。(如果想自定义输出一些内容,或者格式,可以从这里获取所有任务的信息)
getTotalTimeMillis:获取任务总耗时(毫秒)。
getTotalTimeSeconds:获取任务总耗时(秒)。
getTaskCount:获取任务总数。
getLastTaskName:获取最后一个任务的名称。
getLastTaskTimeMillis:获取最后一个任务的耗时(毫秒)。
getLastTaskInfo:获取最后一个任务的信息,即任务的名称和耗时。
本文来自博客园,作者:PC君,转载请注明原文链接:https://www.cnblogs.com/pcheng/p/11174947.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)