Java アプリケーションでのパフォーマンスの最適化には、コードの実行時間を測定することが重要です。 開発者はボトルネックを特定し、効率性を向上させるのに役立ちます。 この記事では、実行時間を計算し、実用的な例を提供します。

System.nanoTime() の使用

[System.nanoTime()[メソッドは、高解像度時間測定を提供します。ナノ秒で、最も精密な利用可能なシステムタイマーの現在の値を返します。実行時間を測定するには、コードが実行される前に開始時刻と終了時刻を後に記録します。差は、経過時間を示します。

事例:

[ の開始時間 = System.nanoTime();]]

[/// 測定するコード

[ 長の終了時間 = System.nanoTime();]]

長期間 = 終了時間 - 開始時間;

System.currentTimeMillis() の使用

[]System.currentTimeMillis()[メソッドはミリ秒単位で現在の時刻を提供します。よりも精度が低いが、長い期間を測定するのに適しています。前の方法と同様に、コードブロックの周りの開始時刻と終了時刻を記録します。

事例:

長い開始時間 = System.currentTimeMillis();]]

[/// 測定するコード

長の終了時間 = System.currentTimeMillis();]

長期間 = 終了時間 - 開始時間;

Javaのインスタントクラスを使用する

[Instant]]クラスは[]]]java.timeパッケージで、時間測定に近代的なアプローチを提供します。ナノ秒精度を提供し、測定期間に適しています。

事例:

起動 = 初期値 = 初期値 ();)

[/// 測定するコード

インストールエンド = Instant.now();

[] 期間 = 期間 = 期間 = 期間 = 開始、終了;

リアルワールド事例

配列をソートするのにかかる長さを測定したいとします。 []]System.nanoTime() を使うと、次のことを実装できます。

[int[] 配列 = new int[1 000 000];]

[/// 配列をポジレート[]

[ の開始時間 = System.nanoTime();]]

Arrays.sort(array);[]]]

[ 長の終了時間 = System.nanoTime();]]

[System.out.println("Sorting" +(endTime - startTime) + "ナノ秒");]