System.currentTimeMillis和System.nanoTime

System.currentTimeMillis和System.nanoTime,第1张

System.currentTimeMillis和System.nanoTime

如果你只是在寻找经过时间的极其精确的度量,请使用

System.nanoTime()
System.currentTimeMillis()
会为你提供自该纪元以来最精确的经过时间(以毫秒为单位),但
System.nanoTime()
相对于任意点,你可以得到十亿分之一秒的精确时间。

从Java文档中:

public static long nanoTime()

返回最精确的可用系统计时器的当前值,以纳秒为单位。

此方法只能用于测量经过时间,并且与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意的起始时间以来的纳秒(也许是将来的时间,因此值可能为负)。此方法提供纳秒精度,但不一定提供纳秒精度。无法保证值的更改频率。 由于数值上溢,跨越大约292年(2 63纳秒)的连续呼叫中的差异将无法准确计算经过的时间。

例如,要测量某些代码执行所需的时间:

long startTime = System.nanoTime();    // ... the pre being measured ...    long estimatedTime = System.nanoTime() - startTime;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4943031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存