StopWatch类

StopWatch类背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,小例一则如…

大家好,又见面了,我是你们的朋友全栈君。

背景
有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,小例一则如下

实例


package com.example.stopwatch;

import org.springframework.util.StopWatch;


public class TestStopWatch {
    private void test() throws InterruptedException {
        StopWatch sw = new StopWatch();

        sw.start("起床");
        Thread.sleep(1000);
        sw.stop();

        sw.start("洗漱");
        Thread.sleep(2000);
        sw.stop();

        sw.start("锁门");
        Thread.sleep(500);
        sw.stop();

        System.out.println(sw.prettyPrint());
        System.out.println(sw.getTotalTimeMillis());
        System.out.println(sw.getLastTaskName());
        System.out.println(sw.getLastTaskInfo());
        System.out.println(sw.getTaskCount());
    }


    public static void main(String []argv) throws InterruptedException {
        TestStopWatch testStopWatch = new TestStopWatch();
        testStopWatch.test();
    }
}

结果

StopWatch ‘’: running time (millis) = 3518

ms % Task name

00998 028% 起床
02020 057% 洗漱
00500 014% 锁门

3518
锁门
org.springframework.util.StopWatch$TaskInfo@5b2133b1
3

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152432.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ewebeditor最新漏洞及漏洞大全

    Ewebeditor最新漏洞及漏洞大全

    2021年12月7日
    51
  • 方舟手游怎么用GG修改器_方舟生存进化gg脚本

    方舟手游怎么用GG修改器_方舟生存进化gg脚本首先,确定你的手机是否可以root,如果不能,需要下载平行空间。在平行空间内添加游戏,和gg修改器。其次,最好是下载正版修改。然后,打开平行空间和gg修改器的所有权限。gg修改器几个常用功能搜索介绍(这里指方舟),搜索数据主要分为两个种类,f类(属性类)和d类(物品类)。新手几个简单的操作,长按修改器图标,开启加速功能。长按搜索出的数据,会弹出选项界面。下面正式开始。一,琥珀修改。首先f搜索480…

    2025年8月29日
    6
  • navicat premium 激活码【永久激活】[通俗易懂]

    (navicat premium 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZP…

    2022年3月21日
    576
  • C++ override使用详解

    C++ override使用详解C++override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。还有一个典型应用就是在继承中也可能会在子类覆盖父类的方法。   公有继承包含两部分:一是“接口”(interface),二是”实现”

    2025年7月10日
    4
  • protractor量角器软件_flashback啥意思

    protractor量角器软件_flashback啥意思官网地址:http://www.protractortest.org/1.预备环境protractor是一个Node.js程序,为了运行protractor,你首先需要Node环境。你还应该检查一下Node的版本,它应该在v0.10.0以上。node–versionNode中附带了npm包管理工具,通过npm可以下载和安…

    2025年8月20日
    3
  • navicate15激活码【在线破解激活】

    navicate15激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号