如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关如何使用StopWatch优雅替代currentTimeMillis计算程序执行耗时,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求有
千家信息网最后更新 2025年11月08日如何使用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安全错误
数据库的锁怎样保障安全
网络安全工作的目标是包括
网页和数据库的安全
远程管理服务器工具有哪些
国家网络安全法哪年颁布
5g网络技术的主要内容
数据库如何约束
服务器要求安全性
汽修好还是软件开发好
数据库主题字段
浙江通用软件开发收购价格
云数据库 弊端
房山服务器硬盘回收价钱
时空数据库原理与技术
车载加固服务器
软件开发员日志
jave软件开发工程师招聘
网络安全手抄报大学一等奖
数据库安全技术研究论文
计算机网络技术考试2016
做网页没有域名和服务器怎么办
小学生网络安全标语短句
中山大学人网络安全
数据库文件组类型
海康管理平台连不上服务器
金蝶数据库的后缀
网络安全法的实施时间及意义
xl.sn传感网络技术
众筹软件开发商
我的世界服务器管理者有什么用
谷歌软件开发李南舫