如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章将为大家详细讲解有关如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求有
千家信息网最后更新 2025年01月18日如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时
这篇文章将为大家详细讲解有关如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
需求
有时需要记录程序执行时间,最简单就是打印当前时间与执行完时间的差值,缺点是:
执行大量测试的话就很麻烦
不直观
如果想对执行的时间做进一步控制,则需要在程序中很多地方修改
于是 Spring提供了一个StopWatch类可以做类似任务执行时间控制,即封装了一个对开始时间,结束时间记录工具
案例
统计输出总耗时
import org.springframework.util.StopWatch; public class SpringStopWatchExample { public static void main (String[] args) throws InterruptedException { StopWatch sw = new StopWatch(); sw.start(); //long task simulation Thread.sleep(1000); sw.stop(); System.out.println(sw.getTotalTimeMillis()); }}
输出最后一个任务的耗时
public class SpringStopWatchExample2 { public static void main (String[] args) throws InterruptedException { StopWatch sw = new StopWatch(); sw.start("A");//setting a task name //long task simulation Thread.sleep(1000); sw.stop(); System.out.println(sw.getLastTaskTimeMillis()); }}
以优雅的格式打出所有任务的耗时以及占比
import org.springframework.util.StopWatch; public class SpringStopWatchExample3 { public static void main (String[] args) throws InterruptedException { StopWatch sw = new StopWatch(); sw.start("A"); Thread.sleep(500); sw.stop(); sw.start("B"); Thread.sleep(300); sw.stop(); sw.start("C"); Thread.sleep(200); sw.stop(); System.out.println(sw.prettyPrint()); }}
序列服务输出耗时信息
@Overridepublic long nextSeq(String name) { StopWatch watch = new StopWatch(); watch.start("单序列获取总消耗"); long sequence = generator.generateId(name); watch.stop(); logger.info(watch.prettyPrint()); return sequence;}
getTotalTimeSeconds() 获取总耗时秒,同时也有获取毫秒的方法
prettyPrint() 优雅的格式打印结果,表格形式
shortSummary() 返回简短的总耗时描述
getTaskCount() 返回统计时间任务的数量
getLastTaskInfo().getTaskName() 返回最后一个任务TaskInfo对象的名称
关于"如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
时间
任务
优雅
程序
篇文章
输出
序列
更多
格式
控制
统计
不错
实用
简短
直观
信息
内容
同时
名称
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
租虚拟服务器玩游戏
湖南软件开发服务有哪些
西宁展厅互动软件开发公司
高升服务器
高性能服务器开箱
比较两个表中不同的数据库
永劫无间捏脸数据库顾清寒
共守网络安全一年级手报
广西it软件开发价格
棋牌游戏服务器设置
软件开发外包合同 下载
南京企业网络安全准入控制系统
软件开发中的qa
数据库dem
珠海好的软件开发公司
失落的方舟搬砖玩哪个服务器
密切关注网络安全挑战
银保协杯网络安全知识竞赛
网络技术实践操作
服务器测压
编程数据库配置
软件开发西安
长沙澳博软件开发有限公司官网
数据库两个表不同的数据库
服务器芯片中国能自主生产吗
软件开发公司地址
互联网科技创新的方法路径
odbc无法打开数据库表单
电源软件开发合同
网络安全监督管理岗位职责