zoukankan      html  css  js  c++  java
  • JAVA中用StopWatch计算代码耗时的方法

      StopWatch翻译过来的意思就是秒表,其作用也就像我们平时使用的秒一样。spring中就有提供这个工具类(org.springframework.util.StopWatch)。

      日常开发中,经常需要看方法各部分的耗时,通常的做法就是通过插桩的方式来统计耗时,如下:

    1     long startTime = System.currentTimeMillis();
    2     Thread.sleep(1000);
    3     long finishTime = System.currentTimeMillis();
    4     System.out.println("请求耗时:" + (finishTime - startTime));

      如果有多个就要重复写多个,比较繁琐,这个时候就可以用StopWatch工具类。如下:

     1     StopWatch sw = new StopWatch();
     2 
     3     sw.start("校验耗时");
     4     Thread.sleep(1000);
     5     sw.stop();
     6 
     7     sw.start("组装报文耗时");
     8     Thread.sleep(2000);
     9     sw.stop();
    10 
    11     sw.start("请求耗时");
    12     Thread.sleep(1000);
    13     sw.stop();
    14 
    15     System.out.println(sw.prettyPrint());
    16     System.out.println(sw.getTotalTimeMillis());

      即使需要加多个位置,也很方便,用prettyPrint方法,可以带格式自动输出各个任务的情况,如下:

      StopWatch还有一些其他的方法可以使用:

    prettyPrint:用自带格式输出所有任务信息。

    getTaskInfo:获取所有任务的信息,即各个任务的名称和耗时。(如果想自定义输出一些内容,或者格式,可以从这里获取所有任务的信息)

    getTotalTimeMillis:获取任务总耗时(毫秒)。

    getTotalTimeSeconds:获取任务总耗时(秒)。

    getTaskCount:获取任务总数。

    getLastTaskName:获取最后一个任务的名称。

    getLastTaskTimeMillis:获取最后一个任务的耗时(毫秒)。

    getLastTaskInfo:获取最后一个任务的信息,即任务的名称和耗时。

  • 相关阅读:
    [Python]执行Linux命令
    [Linux]命令返回值以及错误对照表
    [ERROR]pip insall pyodbc
    [CentOS7]安装ODBC Driver 17 for SQL Server
    [Python]获取字典所有值
    [Python]判断变量类型是否为List列表
    十分钟了解pandas
    Docker容器化技术(上)
    C语言位域
    PAT基础级-钻石段位样卷2-7-7 危险品装箱 (25 分)
  • 原文地址:https://www.cnblogs.com/pcheng/p/11174947.html
Copyright © 2011-2022 走看看