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

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

java 复制代码
<!-- 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提供的这个任务执行监视器功能丰富强大,灵活性强,如下经典实用案例:

java 复制代码
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");
}
相关推荐
SelectDB1 小时前
5 倍性能提升,Apache Doris TopN 全局优化详解|Deep Dive
数据库·apache
zhougl9963 小时前
Vuex 模块命名冲突:问题解析与完整解决方案
linux·服务器·apache
I · T · LUCKYBOOM5 小时前
1.Apache网站优化
linux·运维·服务器·网络·apache
一人の梅雨9 小时前
微店商品详情接口深度解析:从多端适配到全链路数据补全
apache
向上的车轮3 天前
Apache Camel 与 Spring Integration的区别是什么?
java·spring·apache
数据与后端架构提升之路4 天前
Apache Iceberg REST Catalog 介绍(包含独立服务搭建、StarRocks 元数据管理和 MinIO 存储)
apache
getapi4 天前
/usr/local/apache-tomcat-9.0.71/logs/catalina.out占用了118G
tomcat·apache·firefox
weixin_440730504 天前
Nginx、Apache和tomcat的简单了解。
nginx·tomcat·apache
天空属于哈夫克34 天前
企业微信二次开发:如何实现外部群消息主动推送
apache·企业微信
石像鬼₧魂石4 天前
Fail2ban + Nginx/Apache 防 Web 暴力破解配置清单
前端·nginx·apache