System.currentTimeMillis() 和区别
时间: 2024-03-19 08:37:14 浏览: 79
System.currentTimeMillis()和System.nanoTime()是Java中用于获取时间的两个方法,它们有以下区别:
1. System.currentTimeMillis()适合获取时间的场景:
- System.currentTimeMillis()返回的是自1970年1月1日午夜到当前时间的毫秒数。
- 它主要用于获取当前的系统时间,可以用来表示一个时间点。
- 由于返回的是毫秒数,所以它的精度是毫秒级别的。
2. System.nanoTime()适合计时的场景:
- System.nanoTime()返回的是当前时间与某个固定时间点之间的纳秒数。
- 它主要用于计算时间间隔,可以用来进行性能测试和计时。
- 由于返回的是纳秒数,所以它的精度是纳秒级别的。
- 注意,System.nanoTime()返回的值是相对于某个固定时间点的,不同的JVM实现可能有不同的起始时间点。
示例代码如下:
```java
long startTime = System.currentTimeMillis();
// 执行一些操作
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("Elapsed time in milliseconds: " + elapsedTime);
long startNanoTime = System.nanoTime();
// 执行一些操作
long endNanoTime = System.nanoTime();
long elapsedNanoTime = endNanoTime - startNanoTime;
System.out.println("Elapsed time in nanoseconds: " + elapsedNanoTime);
```
阅读全文