秒表工具类StopWatch
org.springframework.util.StopWatch
说明:
该工具类主要用于对程序代码进行计时统计,可以理解为对System.currentTimeMillis()的封装,该工具类有很多种封装,例如:org.apache.commons.lang3.time.StopWatch,cn.hutool.core.date.StopWatch,org.junit.rules.Stopwatch,com.google.common.base.Stopwatch等,不同的工具用法也略有不同,此处主要介绍常用的spring-core包中的StopWatch
简单示例:
public static void main(String[] args) {try {StopWatch stopWatch = new StopWatch("id1");// 设置是否保存任务列表,默认为true,但当有大量计时任务时会消耗较大内存,视情况可配置falsestopWatch.setKeepTaskList(true);stopWatch.start("task1");Thread.sleep(1500);stopWatch.stop();stopWatch.start("task2");Thread.sleep(2000);stopWatch.stop();// 用于格式化对象ObjectMapper om = new ObjectMapper();System.out.println("所有任务总耗时:" + stopWatch.getTotalTimeMillis());System.out.println("任务总数:" + stopWatch.getTaskCount());System.out.println("所有任务详情:" + om.writerWithDefaultPrettyPrinter().writeValueAsString(stopWatch.getTaskInfo()) );System.out.println("格式化打印任务详情:" + stopWatch.prettyPrint());}catch (Exception ex){ex.printStackTrace();}
}
输出结果
所有任务总耗时:3524
任务总数:2
所有任务详情:[ {"taskName" : "task1","timeNanos" : 1512145400,"timeSeconds" : 1.5121454,"timeMillis" : 1512
}, {"taskName" : "task2","timeNanos" : 2012313700,"timeSeconds" : 2.0123137,"timeMillis" : 2012
} ]
格式化打印任务详情:StopWatch 'id1': running time = 3524459100 ns
---------------------------------------------
ns % Task name
---------------------------------------------
1512145400 043% task1
2012313700 057% task2
秒表工具类StopWatch相关推荐
- Spring 计时工具类 StopWatch
Spring 计时工具类 StopWatch 位于Spring的核心包 设计目标 验证程序性能, 记录过程耗时 隐藏System.currentTimeMillis()的使用提升代码可读性 特性 支持 ...
- Java实现代码计时功能(Spring计时工具类--StopWatch学习总结)
使用场景 计算某段程序的执行时间.计算每段线程所耗时间.计算方法调用的执行时间,等等. 传统方式 使用java代码实现计时功能 long startTime = System.currentTimeM ...
- Guava工具类真心好用,无须重复轮子!
文章来源:https://c1n.cn/gST6P 目录 Google Guava 概述 不可变集合与对象 Guava 新集合类型 JDK 集合辅助工具类 JDK 基本类型辅助工具类 JDK 字符串辅 ...
- Stopwatch工具类计时器探究
搬砖的我们 特别是Java开发的童鞋们, 经常需要通过记录开始时间和结束时间,然后通过计算差值,得到时间差,如下面的代码: long start = System.currentTimeMillis( ...
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /*** StringUti ...
- apache-commons 常用工具类
引用包说明 本文引用的所有包如下 <dependency><groupId>org.apache.commons</groupId><artifactId&g ...
- 常用工具类 (一) : Apache Commons 常用工具类整理 (全)
文章目录 一.commons-lang3 引入依赖 StringUtils 字符串工具类 StringEscapeUtils 转义字符串工具类 NumberUtils 数字工具类 ArrayUtils ...
- 测试算法(性能)的工具类
记录几个测试算法性能的工具类,方便以后测试算法. Stopwatch类:可以得到算法的执行时间(单位:s,小数点后3位) 1: public class Stopwatch { 2: private ...
- java开发中spring常用的工具类
内置的resouce类型 UrlResource ClassPathResource FileSystemResource ServletContextResource InputStreamReso ...
最新文章
- AES和TKIP的区别
- 面试官:聊聊微信和淘宝扫码登录背后的实现原理?
- 威联通装linux百度网盘,威联通NAS使用百度云Docker教程,超简单!
- 有向图的深度/广度优先遍历算法
- 工业机器人打磨抛光编程员工资_一种工业机器人打磨抛光工作平台的制作方法...
- 服务器怎么禁止iis静态文件,如何禁止IIS缓存静态文件
- iis php多版本共存,IIS7中多个版本php共存的方法
- java实体类设计_java实验1 实体类的设计-答案
- svn server启动报错:The HTTP service failed to start
- 02初尝有限元分析——悬臂梁案例
- 阿里P9技术:我来聊聊百万年薪
- 订阅号服务器消息推送数量,微信服务号一个月4次的推文次数用完了,怎么增加推送数量?...
- ubuntu16.04火狐浏览器B站提示下载flash插件
- c语言编程等边三角形代码,C语言中 正 倒等边三角形的代码
- 头条视频30万次播放有多少收益,今日头条一个视频收益持续多久
- 火爆业界的明星, 下一代存储技术的先行: NVDIMM (下篇)
- uac管理员程序_在Windows 10中创建没有UAC提示的管理员模式快捷方式
- C++ include头文件之后为什么还要在编译的时候加--lxxx
- GSoC2011 主要入选方向
- 访问www.baidu.com的过程
热门文章
- windows解密bitlocker【2】密码读取
- 如何修改文件的扩展名(后缀)
- Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......
- 【经验总结】如何做好复盘
- [转]Berkeley DB实现分析
- 扩增子测序 查找引物是否去除
- linux端口抓包工具下载,linux下的抓包工具tcpdump
- CVE-2022-1162 Gitlab 硬编码漏洞分析
- 【安全狗漏洞通告】Gitlab 硬编码漏洞解决方案
- 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版