我会避免使用 System.currentTimeMillis() 来测量经过的时间。 currentTimeMillis() 返回“挂钟”时间,该时间可能会更改(例如:夏令时、管理员用户更改时钟)并扭曲您的间隔测量。 System.nanoTime() 另一方面,返回自“某个参考点”(例如,JVM 启动)以来的纳秒数,因此不易受系统时钟变化的影响。 原文由 Leigh 发布,翻译遵循 CC BY-SA 3.0 许可协议
这是一些示例代码。 long startTime = System.currentTimeMillis(); // Run some code; long stopTime = System.currentTimeMillis(); System.out.println("Elapsed time was " + (stopTime - startTime) + " miliseconds."); 原文由 jjnguy 发布,翻译遵循 CC BY-SA 3.0 许可协议
我会避免使用
System.currentTimeMillis()
来测量经过的时间。currentTimeMillis()
返回“挂钟”时间,该时间可能会更改(例如:夏令时、管理员用户更改时钟)并扭曲您的间隔测量。System.nanoTime()
另一方面,返回自“某个参考点”(例如,JVM 启动)以来的纳秒数,因此不易受系统时钟变化的影响。