阅读量:2
Java中可以使用System.currentTimeMillis()或者System.nanoTime()来记录程序的执行时间。
- 使用System.currentTimeMillis()方法:
long startTime = System.currentTimeMillis(); // 程序主体代码 long endTime = System.currentTimeMillis(); long elapsedTime = endTime - startTime; System.out.println("程序执行时间(毫秒):" + elapsedTime);
- 使用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());