温馨提示×

java怎么记录程序执行时间

小亿
188
2023-09-17 00:52:36
栏目: 编程语言

Java中可以使用System.currentTimeMillis()或者System.nanoTime()来记录程序的执行时间。

  1. 使用System.currentTimeMillis()方法:
long startTime = System.currentTimeMillis();
// 程序主体代码
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(毫秒):" + elapsedTime);
  1. 使用System.nanoTime()方法:
long startTime = System.nanoTime();
// 程序主体代码
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(纳秒):" + elapsedTime);

这两种方法的区别在于精度和可读性。System.currentTimeMillis()返回的是自1970年1月1日00:00:00 UTC到当前时间的毫秒数,精度为毫秒级别。而System.nanoTime()返回的是系统的纳秒数,精度更高,但由于返回的是相对时间,所以不具有可读性。

另外,如果需要多次记录程序执行时间,可以使用一个计时器类来封装上述代码。例如:

public class Timer {
private long startTime;
private long endTime;
public void start() {
startTime = System.nanoTime();
}
public void end() {
endTime = System.nanoTime();
}
public long getElapsedTime() {
return endTime - startTime;
}
}

使用示例:

Timer timer = new Timer();
timer.start();
// 程序主体代码
timer.end();
System.out.println("程序执行时间(纳秒):" + timer.getElapsedTime());

0