ホームページ > Java > &#&チュートリアル > Java で経過時間を測定する最も正確な方法は何ですか?

Java で経過時間を測定する最も正確な方法は何ですか?

DDD
リリース: 2024-12-19 14:41:12
オリジナル
639 人が閲覧しました

What's the Most Accurate Way to Measure Elapsed Time in Java?

Java での経過時間の測定

Java での経過時間を測定するには、いくつかの方法が使用できます。ただし、最も正確で効率的なアプローチは、System.nanoTime() メソッドを利用することです。

一般的な考えに反して、System.currentTimeMillis() は壁時計に依存しているため、経過時間の測定には適していません。一方、

System.nanoTime() は、経過時間を測定するために特別に設計されており、壁時計の調整の影響を受けません。これは、より細かい粒度 (通常はマイクロ秒またはナノ秒) で動作します。

その使用法を説明するために、次のクラスを考えてみましょう:

public class Stream {
    private long startTime;
    private long endTime;

    public void setStartTime() {
        startTime = System.nanoTime();
    }

    public void setEndTime() {
        endTime = System.nanoTime();
    }

    public long getDuration() {
        return endTime - startTime;
    }
}
ログイン後にコピー

setStartTime() メソッドと setEndTime() メソッドを呼び出すことにより、関連するコード ブロック内でタイムスタンプをキャプチャできます。その後、getDuration() を呼び出すと、開始から終了までの経過時間がナノ秒単位で正確に計算され、適切な単位 (ミリ秒、秒、分など) に簡単に変換できます。

覚えておいてください。 System.nanoTime() は高精度のタイミングを提供しますが、その結果は、オペレーティング システム、ハードウェア、および同時に実行されている他のプロセスなどの要因にも影響を受ける可能性があります。

以上がJava で経過時間を測定する最も正確な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート