当前位置: 首页 > news >正文

StopWath,apache commons lang3 包下的一个任务执行时间监视器的使用

StopWath是 apache commons lang3 包下的一个任务执行时间监视器,与我们平时常用的秒表的行为比较类似,我们先看一下其中的一些重要方法:

图片

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>    <groupId>org.apache.commons</groupId>    <artifactId>commons-lang3</artifactId>    <version>3.6</version>
</dependency>

Apache提供的这个任务执行监视器功能丰富强大,灵活性强,如下经典实用案例:

public static void main(String[] args) throws InterruptedException {    //创建后立即start,常用    StopWatch watch = StopWatch.createStarted();// StopWatch watch = new StopWatch();    // watch.start();    Thread.sleep(1000);    System.out.println(watch.getTime());    System.out.println("统计从开始到现在运行时间:" + watch.getTime() + "ms");Thread.sleep(1000);    watch.split();    System.out.println("从start到此刻为止的时间:" + watch.getTime());   System.out.println("从开始到第一个切入点运行时间:" + watch.getSplitTime());Thread.sleep(1000);    watch.split();    System.out.println("从开始到第二个切入点运行时间:" + watch.getSplitTime());    // 复位后, 重新计时    watch.reset();    watch.start();    Thread.sleep(1000);    System.out.println("重新开始后到当前运行时间是:" + watch.getTime());    // 暂停 与 恢复    watch.suspend();    System.out.println("暂停2秒钟");    Thread.sleep(2000);    // 上面suspend,这里要想重新统计,需要恢复一下   watch.resume();    System.out.println("恢复后执行的时间是:" + watch.getTime());Thread.sleep(1000);    watch.stop();System.out.println("花费的时间》》" + watch.getTime() + "ms");    // 直接转成s    System.out.println("花费的时间》》" + watch.getTime(TimeUnit.SECONDS) + "s");
}

相关文章:

  • HTML5实现唐朝服饰网站模板源码
  • 服务器使用了代理ip,遇到流量攻击,会对服务器有影响吗
  • 汽车保养BBBBBBBBBBB
  • 电信卡无信号问题
  • Spring Boot应用:电子商务平台开发
  • 了解Webpack并处理样式文件
  • 解决端口被占用
  • Chainlit集成LlamaIndex实现知识库高级检索(组合对象检索)
  • 解决 Could not locate zlibwapi.dll. Please make sure it is in your library path
  • Qt获取本机Mac地址、Ip地址
  • iOS OC 底层原理之 category、load、initialize
  • 通过 LabVIEW 正则表达式读取数值(整数或小数)
  • 软件设计之SSM(3)
  • 从《GTA5》的反外挂斗争看网络安全的重要性
  • 高中教辅汇总【35GB】
  • [PHP内核探索]PHP中的哈希表
  • 「译」Node.js Streams 基础
  • canvas 绘制双线技巧
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JS 面试题总结
  • PHP 7 修改了什么呢 -- 2
  • php面试题 汇集2
  • Promise面试题2实现异步串行执行
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 讲清楚之javascript作用域
  • 看域名解析域名安全对SEO的影响
  • 深入浏览器事件循环的本质
  • 使用Gradle第一次构建Java程序
  • 数据可视化之 Sankey 桑基图的实现
  • 微信小程序填坑清单
  • 追踪解析 FutureTask 源码
  • Mac 上flink的安装与启动
  • Python 之网络式编程
  • Spring第一个helloWorld
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #APPINVENTOR学习记录
  • #数学建模# 线性规划问题的Matlab求解
  • (1) caustics\
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (C语言)fgets与fputs函数详解
  • (ibm)Java 语言的 XPath API
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二)JAVA使用POI操作excel
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (十七)、Mac 安装k8s
  • (十三)Flask之特殊装饰器详解
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Unity3DUnity3D在android下调试
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Micro Framework 4.2 beta 源码探析