ホームページ >Java >&#&チュートリアル >Java で経過時間を正確に測定するにはどうすればよいですか?

Java で経過時間を正確に測定するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-31 12:14:14817ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。