在 Java 中测量经过的时间
在 Java 中,准确测量经过的时间需要理解经过的时间和挂钟时间之间的区别。虽然许多回复建议使用 System.currentTimeMillis(),但重要的是要注意它测量挂钟时间,这可能会受到时钟校正的影响。
要正确测量经过的时间,System.nanoTime() 应该被使用。该 API 专门设计用于量化经过的时间,并且不受时钟校正的影响。因此,它提供比 System.currentTimeMillis() 更准确的读数。
关于您的示例代码,要捕获 startTime 和 endTime 之间经过的持续时间,您可以使用以下方法:
public class Stream { private long startTime; private long endTime; public void start() { startTime = System.nanoTime(); } public void end() { endTime = System.nanoTime(); } public long getDuration() { return (endTime - startTime); } }
在此示例中,当您想要开始和终止时间测量时,可以修改 start() 和 end() 方法中的 startTime 和 endTime 值。 getDuration() 方法返回以纳秒为单位的经过时间,如果需要,可以将其转换为其他单位。
请记住,为了精确测量经过的时间,必须利用 System.nanoTime() 并避免依赖System.currentTimeMillis(),容易受到时钟修正的影响。
以上是如何在Java中准确测量运行时间?的详细内容。更多信息请关注PHP中文网其他相关文章!