首頁 >Java >java教程 >如何在Java中準確測量運行時間?

如何在Java中準確測量運行時間?

Barbara Streisand
Barbara Streisand原創
2024-12-31 12:14:14821瀏覽

How Can I Accurately Measure Elapsed Time in Java?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn