A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 328078121 中级黑马   /  2013-8-30 19:57  /  1181 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 328078121 于 2013-8-30 23:11 编辑

System类里有个currentTimeMillis()是获取当前时间毫秒数,自1970 1 1 日午夜算起,我们计算一个程序程序的执行时间时,就可以在开头和和结尾用此方法,然后取差。
我发现还有一个获取时间的方法nanoTime(),API上说返回最准确的可用系统计时器的
当前值,以毫微秒为单位,是不是计算程序时间用这个更好些呢?
API上解释的nanoTime()我始终没能看懂,这是原文:
此方法只能用于测量已过的时间,与系统或钟表时间的其他任何时间概念无关。返回值表示从某一固定但任意的时间算起的毫微秒数(或许从以后算起,所以该值可能为负)。此方法提供毫微秒的精度,但不是必要的毫微秒的准确度。它对于值的更改频率没有作出保证。在取值范围大于约 292 年(263 毫微秒)的连续调用的不同点在于:由于数字溢出,将无法准确计算已过的时间。
哪位给通俗的解释下啊。

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

1 个回复

正序浏览
意思就是该方法只能用于纳秒级别的计时,并不能用这个值来构造一个Date对象。
只能用于测量已过的时间,由于是值是任意的,也可能是未来的时间,返回值可能会是负数。
用处不大,无须费心!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马