クラス StopWatch
System.nanoTime()
の使用を隠蔽し、アプリケーションコードの可読性を向上させ、計算エラーの可能性を減らします。
このオブジェクトはスレッドセーフに設計されておらず、同期を使用しないことに注意してください。
このクラスは通常、本番アプリケーションの一部としてではなく、概念実証作業中および開発中のパフォーマンスを検証するために使用されます。
実行時間はナノ秒単位で追跡および報告されます。Spring Framework 6.1 では、文字列レンダリングのデフォルトの時間単位はナノ秒精度の小数点付きの秒です。特定の時間単位のカスタムレンダリングは、prettyPrint(TimeUnit)
を通じてリクエストできます。
- 導入:
- 2001 年 5 月 2 日
- 作成者:
- Rod Johnson, Juergen Hoeller, Sam Brannen
- 関連事項:
ネストされたクラスのサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明現在実行中のタスクがあれば、その名前を取得します。getId()
構築時に指定された、このStopWatch
の ID を取得します。使用すべきではありません。使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨long
使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨long
使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨int
時間指定されたタスクの数を取得します。実行されたタスクのデータの配列を取得します。double
getTotalTime
(TimeUnitSE timeUnit) リクエストされた時間単位ですべてのタスクの合計時間を取得します (ナノ秒精度の小数点付き)。long
すべてのタスクの合計時間をミリ秒単位で取得します。long
すべてのタスクの合計時間をナノ秒単位で取得します。double
すべてのタスクの合計時間を秒単位で取得します。boolean
このStopWatch
が現在実行されているかどうかを確認します。最後のタスクをStopWatch.TaskInfo
オブジェクトとして取得します。秒単位で実行されるすべてのタスクを説明するテーブルを生成します (小数点はナノ秒精度)。prettyPrint
(TimeUnitSE timeUnit) リクエストされた時間単位で実行されるすべてのタスクを説明するテーブルを生成します (ナノ秒精度の小数点付き)。void
setKeepTaskList
(boolean keepTaskList) StopWatch.TaskInfo
配列を長期的に構築するかどうかを構成します。合計実行時間の短い説明を秒単位で取得します。void
start()
名前のないタスクを開始します。void
名前付きタスクを開始します。void
stop()
現在のタスクを停止します。toString()
数秒以内に実行されるすべてのタスクを説明する情報文字列を生成します。
コンストラクターの詳細
StopWatch
public StopWatch()新しいStopWatch
を作成します。タスクを開始しません。
StopWatch
指定された ID で新しいStopWatch
を構築します。この ID は、複数のストップウォッチからの出力があり、区別する必要がある場合に便利です。
タスクを開始しません。
- パラメーター:
id
- このストップウォッチの識別子
メソッドの詳細
getId
構築時に指定された、このStopWatch
の ID を取得します。- 戻り値:
- ID (デフォルトでは空の文字列)
- 導入:
- 4.2.2
- 関連事項:
setKeepTaskList
public void setKeepTaskList(boolean keepTaskList) StopWatch.TaskInfo
配列を長期的に構築するかどうかを構成します。数百万のタスクに
StopWatch
を使用する場合は、これをfalse
に設定します。そうしないと、TaskInfo
構造が過剰なメモリを消費します。デフォルトは
true
です。start
名前のないタスクを開始します。このメソッドを最初に呼び出さずに
stop()
またはタイミングメソッドが呼び出された場合の結果は未定義です。start
名前付きタスクを開始します。このメソッドを最初に呼び出さずに
stop()
またはタイミングメソッドが呼び出された場合の結果は未定義です。- パラメーター:
taskName
- 開始するタスクの名前- 例外:
IllegalStateExceptionSE
- 関連事項:
stop
現在のタスクを停止します。start()
/stop()
メソッドのペアを少なくとも 1 つ呼び出さずにタイミングメソッドが呼び出された場合、結果は未定義です。isRunning
public boolean isRunning()このStopWatch
が現在実行されているかどうかを確認します。- 関連事項:
currentTaskName
現在実行中のタスクがあれば、その名前を取得します。- 導入:
- 4.2.2
- 関連事項:
lastTaskInfo
最後のタスクをStopWatch.TaskInfo
オブジェクトとして取得します。- 例外:
IllegalStateExceptionSE
- まだタスクが実行されていない場合- 導入:
- 6.1
getLastTaskInfo
@DeprecatedSE(since="6.1") public StopWatch.TaskInfo getLastTaskInfo() throws IllegalStateExceptionSE使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨最後のタスクをStopWatch.TaskInfo
オブジェクトとして取得します。getLastTaskName
使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨最後のタスクの名前を取得します。getLastTaskTimeNanos
使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨最後のタスクにかかった時間をナノ秒単位で取得します。- 例外:
IllegalStateExceptionSE
- 導入:
- 5.2
- 関連事項:
getLastTaskTimeMillis
使用すべきではありません。6.1 現在、lastTaskInfo()
を推奨最後のタスクにかかった時間をミリ秒単位で取得します。getTaskInfo
実行されたタスクのデータの配列を取得します。getTaskCount
public int getTaskCount()時間指定されたタスクの数を取得します。getTotalTimeNanos
public long getTotalTimeNanos()すべてのタスクの合計時間をナノ秒単位で取得します。- 導入:
- 5.2
- 関連事項:
getTotalTimeMillis
public long getTotalTimeMillis()すべてのタスクの合計時間をミリ秒単位で取得します。getTotalTimeSeconds
public double getTotalTimeSeconds()すべてのタスクの合計時間を秒単位で取得します。getTotalTime
リクエストされた時間単位ですべてのタスクの合計時間を取得します (ナノ秒精度の小数点付き)。- パラメーター:
timeUnit
- 使用するユニット- 導入:
- 6.1
- 関連事項:
prettyPrint
秒単位で実行されるすべてのタスクを説明するテーブルを生成します (小数点はナノ秒精度)。カスタムレポートの場合は、
getTaskInfo()
を呼び出してデータを直接使用します。prettyPrint
リクエストされた時間単位で実行されるすべてのタスクを説明するテーブルを生成します (ナノ秒精度の小数点付き)。カスタムレポートの場合は、
getTaskInfo()
を呼び出してデータを直接使用します。- パラメーター:
timeUnit
- 合計時間とタスク時間のレンダリングに使用する単位- 導入:
- 6.1
- 関連事項:
shortSummary
合計実行時間の短い説明を秒単位で取得します。toString
数秒以内に実行されるすべてのタスクを説明する情報文字列を生成します。
lastTaskInfo()
を推奨