简单使用 hutool 工具类的 StopWatch 计算代码运行时间

497次阅读
没有评论

共计 1459 个字符,预计需要花费 4 分钟才能阅读完成。

常用

Hutool 工具包中的 StopWatch 类提供了一个方便的工具来帮助你跟踪代码执行的时间,并可以轻松地输出结果。

import cn.hutool.core.date.StopWatch;

public class StopWatchDemo {
    public static void main(String[] args) throws InterruptedException {
        // StopWatch stopWatch = StopWatch.create("test")
        StopWatch stopWatch = new StopWatch();

        // 开始计时
        stopWatch.start();
        Thread.sleep(2000L);
        stopWatch.stop();

        // 获取上一次任务用时
        System.out.println("上一次任务耗时:" + stopWatch.getLastTaskTimeMillis() + " ms");

        // 再次开始计时
        stopWatch.start();
        Thread.sleep(1000L);
        stopWatch.stop();

        // 获取总共用时
        System.out.println("总耗时:" + stopWatch.getTotalTimeMillis() + "ms");
    }
}

StopWatch

下面是该类的方法:

  • create(String id): 创建一个 StopWatch 对象,指定 id 用于标识该 StopWatch。
  • StopWatch(): 创建一个空的 StopWatch 对象,不指定 id。
  • StopWatch(String id): 创建一个 StopWatch 对象,指定 id 用于标识该 StopWatch。
  • StopWatch(String id, boolean keepTaskList): 创建一个 StopWatch 对象,指定 id 用于标识该 StopWatch,指定 keepTaskList 是否记录任务列表。
  • getId(): 获取该 StopWatch 的 id。
  • setKeepTaskList(boolean keepTaskList): 设置是否记录任务列表。
  • start(): 开始计时,不指定任务名。
  • start(String taskName): 开始计时,并指定任务名。
  • stop(): 停止计时,记录任务信息。
  • isRunning(): 判断是否正在计时。
  • currentTaskName(): 获取当前任务名。
  • getLastTaskTimeNanos(): 获取上一个任务的运行时间(纳秒)。
  • getLastTaskTimeMillis(): 获取上一个任务的运行时间(毫秒)。
  • getLastTaskName(): 获取上一个任务的名称。
  • getLastTaskInfo(): 获取上一个任务的信息。
  • getTotal(TimeUnit unit): 获取所有任务的总运行时间,并指定时间单位。
  • getTotalTimeNanos(): 获取所有任务的总运行时间(纳秒)。
  • getTotalTimeMillis(): 获取所有任务的总运行时间(毫秒)。
  • getTotalTimeSeconds(): 获取所有任务的总运行时间(秒)。
  • getTaskCount(): 获取任务数量。
  • getTaskInfo(): 获取任务信息数组。
  • shortSummary(): 获取简短摘要信息。
  • shortSummary(TimeUnit unit): 获取简短摘要信息,并指定时间单位。
  • prettyPrint(): 获取详细信息。
  • prettyPrint(TimeUnit unit): 获取详细信息,并指定时间单位。

提醒:本文发布于388天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 
阿蛮君
版权声明:本站原创文章,由 阿蛮君 2023-03-07发表,共计1459字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 无忧云 提供安全防护和加速服务