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相关推荐

  1. Spring 计时工具类 StopWatch

    Spring 计时工具类 StopWatch 位于Spring的核心包 设计目标 验证程序性能, 记录过程耗时 隐藏System.currentTimeMillis()的使用提升代码可读性 特性 支持 ...

  2. Java实现代码计时功能(Spring计时工具类--StopWatch学习总结)

    使用场景 计算某段程序的执行时间.计算每段线程所耗时间.计算方法调用的执行时间,等等. 传统方式 使用java代码实现计时功能 long startTime = System.currentTimeM ...

  3. Guava工具类真心好用,无须重复轮子!

    文章来源:https://c1n.cn/gST6P 目录 Google Guava 概述 不可变集合与对象 Guava 新集合类型 JDK 集合辅助工具类 JDK 基本类型辅助工具类 JDK 字符串辅 ...

  4. Stopwatch工具类计时器探究

    搬砖的我们 特别是Java开发的童鞋们, 经常需要通过记录开始时间和结束时间,然后通过计算差值,得到时间差,如下面的代码: long start = System.currentTimeMillis( ...

  5. commons-lang3-3.2.jar中的常用工具类的使用

    这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /*** StringUti ...

  6. apache-commons 常用工具类

    引用包说明 本文引用的所有包如下 <dependency><groupId>org.apache.commons</groupId><artifactId&g ...

  7. 常用工具类 (一) : Apache Commons 常用工具类整理 (全)

    文章目录 一.commons-lang3 引入依赖 StringUtils 字符串工具类 StringEscapeUtils 转义字符串工具类 NumberUtils 数字工具类 ArrayUtils ...

  8. 测试算法(性能)的工具类

    记录几个测试算法性能的工具类,方便以后测试算法. Stopwatch类:可以得到算法的执行时间(单位:s,小数点后3位) 1: public class Stopwatch { 2: private ...

  9. java开发中spring常用的工具类

    内置的resouce类型 UrlResource ClassPathResource FileSystemResource ServletContextResource InputStreamReso ...

最新文章

  1. AES和TKIP的区别
  2. 面试官:聊聊微信和淘宝扫码登录背后的实现原理?
  3. 威联通装linux百度网盘,威联通NAS使用百度云Docker教程,超简单!
  4. 有向图的深度/广度优先遍历算法
  5. 工业机器人打磨抛光编程员工资_一种工业机器人打磨抛光工作平台的制作方法...
  6. 服务器怎么禁止iis静态文件,如何禁止IIS缓存静态文件
  7. iis php多版本共存,IIS7中多个版本php共存的方法
  8. java实体类设计_java实验1 实体类的设计-答案
  9. svn server启动报错:The HTTP service failed to start
  10. 02初尝有限元分析——悬臂梁案例
  11. 阿里P9技术:我来聊聊百万年薪
  12. 订阅号服务器消息推送数量,微信服务号一个月4次的推文次数用完了,怎么增加推送数量?...
  13. ubuntu16.04火狐浏览器B站提示下载flash插件
  14. c语言编程等边三角形代码,C语言中 正 倒等边三角形的代码
  15. 头条视频30万次播放有多少收益,今日头条一个视频收益持续多久
  16. 火爆业界的明星, 下一代存储技术的先行: NVDIMM (下篇)
  17. uac管理员程序_在Windows 10中创建没有UAC提示的管理员模式快捷方式
  18. C++ include头文件之后为什么还要在编译的时候加--lxxx
  19. GSoC2011 主要入选方向
  20. 访问www.baidu.com的过程

热门文章

  1. windows解密bitlocker【2】密码读取
  2. 如何修改文件的扩展名(后缀)
  3. Pygame实战:据说这是史上最难扫雷游戏,没有之一,你们感受下......
  4. 【经验总结】如何做好复盘
  5. [转]Berkeley DB实现分析
  6. 扩增子测序 查找引物是否去除
  7. linux端口抓包工具下载,linux下的抓包工具tcpdump
  8. CVE-2022-1162 Gitlab 硬编码漏洞分析
  9. 【安全狗漏洞通告】Gitlab 硬编码漏洞解决方案
  10. 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版