System.nanoTime的介绍
public static long nanoTime(): 返回最准确的可用于系统计时的时间值,以毫微秒即纳秒为单位。
此方法只能用于测量已过去的时间,与系统或钟表时间表示的时间概念无关。
返回值表示从某一固定但任意的时间开始计算的毫微秒数(也可以从将来某一时刻算起,所以该值可能为负值)。此方法提供毫微秒的精度,但不是必要的毫微秒的准确度。它对于值的更改频率没有作出保证。
在取值范围大于约 292 年的连续调用时,会由于数字溢出,将无法准确计算已过的时间(Long最大值9223372036854775807,该数量的纳秒即9223372036秒,约为292年)。
例如,测试某些代码执行的时间长度:
//由于选取比较的时间点任意,startTime每次都不同
long startTime = System.nanoTime();
System.ou