Java统计代码的执行时间的6种方法
前言:在日前开发中我们会遇到需要统计运行的时间但是又不想运用JMH测试框架,所以本文就汇总了一些比较常用的统计时间的测试方法,总共有6种,我做了一个大概的思维导图:
方法一,这个方法System.currentTimeMillis()和System.nanoTime()都是java内置的方法。
package com.qfedu.first;
public class test {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
//这个获得的是时间戳
long l = System.nanoTime();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
long l2 = System.nanoTime();
System.out.println(endTime-startTime);
System.out.println(l2-l);
}
}
方法二,new Date也是java中内置的统计时间的方法,在开始执行前new date()创建一个当前时间的对象,在执行结束后 new Date() 一个当前执行时间,然后再统计两个时间间隔就可以。
Date state = new Date();
Thread.sleep(100);
Date end = new Date();
System.out.println(end.getTime()-state.getTime());

方法三,Spring StopWatch
如果我们使用的是spring或者springboot项目,可以直接在项目中使用StopWatch对象来统计代码执行时间;
StopWatch stopWatch = new StopWatch();
stopWatch.start();
Thread.sleep(1000);
stopWatch.stop();
System.out.println(stopWatch.getTotalTimeMillis());
里面有很多方法,可以看看有什么其他的功能
结论
mg-uegVAiDt-1715857990489)]
里面有很多方法,可以看看有什么其他的功能
结论
对于其其他框架的方法,底层核心的代码。还是调用了java代码的底层Systeam.nanoTime进行封装的