码迷,mamicode.com
首页 > 其他好文 > 详细

System.nanoTime理解

时间:2017-04-09 11:33:05      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:地方   需要   计时   输出   注释   repr   意思   精度   返回值   

JDK1.5之后java中的计时给出了更精确的方法:System.nanoTime(),输出的精度是纳秒级别,这个给一些性能测试提供了更准确的参考。 

但是这个方法有个需要注意的地方,不能用来计算今天是哪一天(应该也没人这么傻,只是早上我突然想起) 

看到这个方法不由得会想起System.currentTime(),这个方法,它的精度是毫秒,返回值是从1970.1.1的零点开始到当前时间的毫秒数,理论上这个可以用来算当前的时间,而且可以用这个值来构造一个Date对象。但是System.nanoTime()却是不同,代码注释上有这么一句: The value returned represents nanoseconds since some fixed but arbitrary time (perhaps in the future, so values may be negative). 

这个返回值是一个从确定的值算起的,但是这个值是任意的,可能是一个未来的时间,所以返回值有可能是负数。(我的英语很蹩脚,意思应该能明白吧)

所以说这个System.nanoTime()方法只能用来计时,例如: 

long s = System.nanoTime(); 

System.nanoTime理解

标签:地方   需要   计时   输出   注释   repr   意思   精度   返回值   

原文地址:http://www.cnblogs.com/shamo89/p/6684024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!