Java中可以使用System.currentTimeMillis()或者System.nanoTime()來記錄程序的執行時間。
long startTime = System.currentTimeMillis();
// 程序主體代碼
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("程序執行時間(毫秒):" + elapsedTime);
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());