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

news/2024/12/22 9:33:01/

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");
}


http://www.ppmy.cn/news/1533723.html

相关文章

物理学基础精解【39】

文章目录 随机变量概率分布中心极限定理&#xff08;Central Limit Theorem&#xff0c;CLT&#xff09;定义与背景主要内容通俗解释意义与应用注意事项 概率论重要的定理和公式1. 概率公理与性质2. 条件概率与独立性3. 全概率公式与贝叶斯公式4. 伯努利大数定律5. 弱大数定律与…

【AndroidStudio】关于AndroidStudio的常见控件TextView和Button

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;AndroidStudio 1.常见控件TextView 1.1基本信息 TextView主要用于在界面上显示一段文本信息。最基本的代码格式如下&#xff1a; <TextView android:id"id/text_vie…

正态分布的极大似然估计一个示例,详细展开的方程求解步骤

此示例是 什么是极大似然估计 中的一个例子&#xff0c;本文的目的是给出更加详细的方程求解步骤&#xff0c;便于数学基础不好的同学理解。 目标 假设我们有一组样本数据 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1​,x2​,…,xn​&#xff0c;它们来自一个正态分布 N…

npm包管理深度探索:从基础到进阶全面教程!

目录 一、npm概述1、npm简介&#xff08;1&#xff09;什么是npm&#xff1f;&#xff08;2&#xff09;npm的核心功能&#xff08;3&#xff09;npm的工作原理&#xff08;4&#xff09;npm的优势&#xff08;5&#xff09;npm的局限性&#xff08;6&#xff09;总结 2、npm的…

【bash】删除本地所有分支

创建 del-local-branches.sh 文件 复制下面的脚本 #!bin/bash# 确认当前分支是否为master if [ "$(git rev-parse --abbrev-ref HEAD)" ! "master" ]; thengit fetch origin && git checkout master fi # 遍历所有本地分支 for branch in $(git…

react crash course 2024(7) react router dom

安装 npm i react-router-dom 引入 import {Route,createBrowserRouter,createRoutesFromElements,RouterProvider} from react-router-dom 在app.jsx const router createBrowserRouter(createRoutesFromElements(<Route index element {<h1>My App</h1>…

Axios入门使用

文章目录 Axios入门使用一、引言二、Axios的安装与配置1、安装Axios2、创建Axios实例 三、发送HTTP请求1、GET请求2、POST请求3、并发请求 四、配置和拦截器1、配置默认值2、拦截器 五、错误处理和取消请求1、错误处理2、取消请求 四、总结 Axios入门使用 一、引言 随着前端技…

滚雪球学MySQL[1.2讲]:安装与配置

全文目录&#xff1a; 前言MySQL的安装1. 操作系统环境及其影响2. Linux系统下安装MySQL的详解Ubuntu下安装MySQL的具体步骤CentOS下安装MySQL的具体步骤 3. Windows系统下安装MySQL的扩展4. MySQL在macOS上的深入讲解 配置与优化1. 配置文件的深入理解2. 使用Percona Toolkit进…