在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中文網其他相關文章!