来源:http://itssh.cn/post/938.html
System.nanoTime() 返回最准确的可用系统计时器的当前值,以毫微秒为单位。
此方法只能用于测量已过的时间,与系统或钟表时间的其他任何时间概念无关。返回值表示从某一固定但任意的时间算起的毫微秒数(或许从以后算起,所以该值可能为负)。此方法提供毫微秒的精度,但不是必要的毫微秒的准确度。它对于值的更改频率没有作出保证。在取值范围大于约 292 年(263 毫微秒)的连续调用的不同点在于:由于数字溢出,将无法准确计算已过的时间。
案例:
public static void main(String[] args) throws InterruptedException {
//
Long startTime = System.nanoTime();//毫微秒
//
Thread.sleep(2000);
//1毫秒 = 1000000毫微妙
System.out.println("execute in " + (System.nanoTime() - startTime ) / 1000000 + " ms");
}