spring工具-StopWatch使用介绍

spring包含了很多方便的实用的工具,今天就来学习StopWatch时钟⏰

StopWatch是Spring核心包中的一个工具类,它是一个简单的秒表工具,可以计时指定代码段的运行时间以及汇总这个运行时间,
使用它可以隐藏使用 System.currentTimeMillis() ,提高应用程序代码的可读性并减少计算错误的可能性。

注意事项
StopWatch对象不是设计为线程安全的,并且不使用同步。

使用场景
一般是在开发过程中验证性能,而不是作为生产应用程序的一部分

方法介绍
在这里插入图片描述

代码实例

public class StopWatchTest {

    public static void main(String[] args) throws InterruptedException {
        StopWatch stopWatch = new StopWatch("测试秒表");

        stopWatch.start("暂停100毫秒");
        Thread.sleep(100 * 1);
        stopWatch.stop();

        stopWatch.start("暂停200毫秒");
        Thread.sleep(100 * 2);
        stopWatch.stop();

        stopWatch.start("暂停300毫秒");
        Thread.sleep(100 * 3);
        stopWatch.stop();

        stopWatch.setKeepTaskList(true); //是否构建TaskInfo信息
        Arrays.stream(stopWatch.getTaskInfo()).forEach(sw ->
                System.out.println(sw.getTaskName()+" "+
                        sw.getTimeMillis()+" "+sw.getTimeSeconds()));
        // 在start()方法和stop()方法间时,isRunning()返回true
        System.out.println(stopWatch.isRunning());
        System.out.println(stopWatch.prettyPrint());//打印详细信息
        System.out.println(stopWatch.shortSummary());//打印简要信息
    }
}


控制台结果

暂停100毫秒 110 0.11
暂停200毫秒 201 0.201
暂停300毫秒 310 0.31
false
StopWatch '测试秒表': running time (millis) = 621
-----------------------------------------
ms     %     Task name
-----------------------------------------
00110  018%  暂停100毫秒
00201  032%  暂停200毫秒
00310  050%  暂停300毫秒

一般用来测试和日志输出用


版权声明:本文为Frlyh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。