写一段比较耗时的程序段,练习使用 System. currentTimeMillis()方法和.nanoTime)方法计算程序段运行的时间。
时间: 2024-10-11 19:04:37 浏览: 31
当涉及到测量Java程序中的执行时间时,`System.currentTimeMillis()` 和 `System.nanoTime()` 是两个常用的API。`currentTimeMillis()` 返回的是自1970年1月1日(UTC)以来的毫秒数,而 `nanoTime()` 返回的是纳秒(1纳秒 = 1千万分之一秒),提供了更高的精度。
下面是一个简单的例子,我们创建一个循环,里面包含一些计算密集型的操作,然后使用这两个方法来获取开始和结束的时间:
```java
public class TimeMeasurement {
public static void main(String[] args) {
long startNano, endNano;
long startTimeMillis, endTimeMillis;
// 获取当前时间作为开始点
startNano = System.nanoTime();
startTimeMillis = System.currentTimeMillis();
// 模拟一个耗时操作(这里只是打印)
for (int i = 0; i < 1000000; i++) {
System.out.println("Iteration " + i);
}
// 获取结束时间
endNano = System.nanoTime();
endTimeMillis = System.currentTimeMillis();
// 计算并打印运行时间
long durationNano = endNano - startNano;
long durationMillis = endTimeMillis - startTimeMillis;
System.out.println("Time in nanoseconds: " + durationNano + " ns");
System.out.println("Time in milliseconds: " + durationMillis + " ms");
}
}
```
在这个例子中,循环次数越多,模拟的“耗时”就越多。你可以根据实际情况调整循环次数来观察不同时间单位下的运行时间差异。
阅读全文