以前在进行时间耗时时我们通常的做法是先给出计算前后两个的时间值,然后通过详见来计算耗时时长。

eg:

long start = System.currentTimeMillis();
......业务处理
System.out.println("耗时:" + (System.currentTimeMillis() - start) + "ms");

我们可以使用已有的工具类中的秒表来替代上述的使用方式,现有的秒表工具类有org.springframework.util.StopWatch、org.apache.commons.lang.time.StopWatch,这里以Spring的StopWatch类为例:

public static void main(String[] args) throws InterruptedException{

        StopWatch stopWatch = new StopWatch("任务耗时秒表工具");

        stopWatch.start("task1");
Thread.sleep(1000);
stopWatch.stop();
System.out.println(stopWatch.getTotalTimeMillis());
stopWatch.start("task2");
Thread.sleep(3000);
stopWatch.stop();
//所有任务耗时时间
System.out.println(stopWatch.getTotalTimeMillis());
System.out.println(stopWatch.prettyPrint()); StopWatch stopWatch2 = new StopWatch("任务耗时秒表工具2");
stopWatch2.start("task3");
Thread.sleep(3000);
stopWatch2.stop();
//所有任务耗时时间
System.out.println(stopWatch2.getTotalTimeMillis());
System.out.println(stopWatch2.prettyPrint()); }

java 中使用StopWatch来计算时间差的更多相关文章

  1. Java中的Double类型计算

    一.问题的提出: 如果我们编译运行下面这个程序会看到什么?public class Test{    public static void main(String args[]){        Sy ...

  2. 【Java编程】Java中的大整数计算

    在上一篇文章中,我们实现了c语言中的大整数的运算,并且用Miller-Rabin算法实现了对大素数的测试.本来我准备用Java代码实现大整数的运算,查了一下资料发现Java中java.math的Big ...

  3. JAVA中使用浮点数类型计算时,计算精度的问题

    标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改    关键字     Java 浮点数 精确计算   问题的提出:如果我们编译运行下面这个程序会看到什么?publi ...

  4. java中最简单的计算执行时长的方式

    日常在做一些性能测试的时候会通过执行时间来判断执行时长,java中最简单的方式如下: //开始时间 long startL= new Date().getTime(); //这里需要导入 java.u ...

  5. Java中精确的数字计算类BigDecimal

    在日常开放当中需要我们计算数字,利率.通常Java的做法是使用Math相关的API.但是,这样做是不够精确的,由于float和double不能进行计算,如果强行进行计算会使得计算不准确.造成难以挽回的 ...

  6. java中byte的范围计算

    概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是000101 ...

  7. java中对 闰年的计算 以及月份天数

    import java.io.*;//局部变量的使用import java.util.Scanner; public class HelloJava {     public static void ...

  8. 030、Java中的求模计算

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  9. java计算时间差, 日期差小结

    转自:https://blog.csdn.net/sy793314598/article/details/79544796 1.java 7中的日历类Calendar Calendar类使用其静态的g ...

随机推荐

  1. vmware设置centos静态ip

    之前有过设置ubuntu静态ip的经验,这次安装设置centos感觉很顺利很简单.参考https://www.linuxidc.com/Linux/2017-10/147449.htm,照做就可以了. ...

  2. 杭电多校第二场 hdu 6315 Naive Operations 线段树变形

    Naive Operations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 502768/502768 K (Java/Other ...

  3. Codeforces 735D Taxes(简单数论)

    题目链接 http://codeforces.com/problemset/problem/735/D 题意:一个人的收入为n他要交的税是n的最大除数,他为了少缴税将n分成k个数n1,n2,n2... ...

  4. 面试加分项-HashMap源码中这些常量的设计目的

    前言 之前周会技术分享,一位同事讲解了HashMap的源码,涉及到一些常量设计的目的,本文将谈谈这些常量为何这样设计,希望大家有所收获. HashMap默认初始化大小为什么是1 << 4( ...

  5. HDFS 读写流程-译

    HDFS 文件读取流程 Client 端调用 DistributedFileSystem 对象的 open() 方法. 由 DistributedFileSystem 通过 RPC 向 NameNod ...

  6. 基于单细胞测序数据构建细胞状态转换轨迹(cell trajectory)方法总结

    细胞状态转换轨迹构建示意图(Trapnell et al. Nature Biotechnology, 2014) 在各种生物系统中,细胞都会展现出一系列的不同状态(如基因表达的动态变化等),这些状态 ...

  7. 【Nginx】实现动静分离

    一.概述 1.1 动态页面与静态页面区别 1.2 什么是动静分离 1.3 为什么要用动静分离 二.Nginx实现动静分离 2.1 架构分析 2.2 配置 三.动静分离与前后分离区别: 四.一些问题 一 ...

  8. 设置普通用户输入sudo,免密进入root账户

    满足给开发用户开权限,赋予sudo权限.又不让其输入密码的方式: 方式一: 开始系统内部的wheel用户组, 在/etc/suoers 中编辑配置文件如下: %wheel ALL=(ALL) NOPA ...

  9. Linux root 用户下 selenium 运行chrome --no-sandbox的问题的解决

    #coding = utf-8 from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_opt ...

  10. Java 创建/识别条形码、二维码

    条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...