- すべてのスーパー・インタフェース:
PlatformManagedObject
,ThreadMXBean
public interface ThreadMXBean extends ThreadMXBean
Java仮想マシンのスレッド・システムに対応するプラットフォーム固有の管理インタフェースです。
このプラットフォーム拡張は、プラットフォーム拡張をサポートするスレッドの実装だけに利用できます。
- 導入されたバージョン:
- 6u25
-
メソッドのサマリー
修飾子と型メソッド説明default long
現在のスレッドのヒープ・メモリー内で割り当てられたメモリー量の合計の概算をバイト単位で返します。long
getThreadAllocatedBytes
(long id) 指定されたIDを持つスレッドのヒープ・メモリー内で割り当てられたメモリー量の合計の概算をバイト単位で返します。long[]
getThreadAllocatedBytes
(long[] ids) 入力配列ids
にIDがある各スレッドのヒープ・メモリーに割り当てられた総メモリー量の近似値(バイト単位)を返します。long[]
getThreadCpuTime
(long[] ids) 入力配列ids
にIDがある各スレッドの合計CPU時間(ナノ秒単位)を返します。long[]
getThreadUserTime
(long[] ids) 入力配列ids
にIDがある各スレッドがユーザー・モードで実行したCPU時間(ナノ秒単位)を返します。default long
Java仮想マシンの起動以降のすべてのスレッドによってヒープ・メモリーに割り当てられたメモリーの合計量の近似値をバイト単位で返します。boolean
スレッド・メモリー割当ての測定が有効かどうかをテストします。boolean
Java仮想マシンがスレッド・メモリー割当ての測定をサポートするかどうかをテストします。void
setThreadAllocatedMemoryEnabled
(boolean enable) スレッド・メモリー割当ての測定を有効または無効にします。インタフェースjava.lang.management.PlatformManagedObjectで宣言されたメソッド
getObjectName
インタフェースjava.lang.management.ThreadMXBeanで宣言されたメソッド
dumpAllThreads, dumpAllThreads, findDeadlockedThreads, findMonitorDeadlockedThreads, getAllThreadIds, getCurrentThreadCpuTime, getCurrentThreadUserTime, getDaemonThreadCount, getPeakThreadCount, getThreadCount, getThreadCpuTime, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadInfo, getThreadUserTime, getTotalStartedThreadCount, isCurrentThreadCpuTimeSupported, isObjectMonitorUsageSupported, isSynchronizerUsageSupported, isThreadContentionMonitoringEnabled, isThreadContentionMonitoringSupported, isThreadCpuTimeEnabled, isThreadCpuTimeSupported, resetPeakThreadCount, setThreadContentionMonitoringEnabled, setThreadCpuTimeEnabled
-
メソッドの詳細
-
getThreadCpuTime
long[] getThreadCpuTime(long[] ids) 入力配列ids
にIDがある各スレッドの合計CPU時間(ナノ秒単位)を返します。 戻り値はナノ秒単位の精度ですが、必ずしもナノ秒の正確度ではありません。このメソッドは、入力配列
ids
にあるスレッドIDごとにThreadMXBean.getThreadCpuTime(long)
メソッドを呼び出し、返された配列の対応する要素に戻り値を設定することと同等です。- パラメータ:
ids
- スレッドIDの配列。- 戻り値:
- 長い値の配列で、それぞれがIDの入力配列の対応する要素にあるIDを持つスレッドのCPU時間です。指定されたIDのスレッドがプラットフォーム・スレッドの場合、スレッドは稼働しており、CPU時間の測定は有効です。それ以外の場合、
-1
です。 - 例外:
NullPointerException
-ids
がnull
である場合IllegalArgumentException
- 入力配列ids
内の任意の要素が<=
0
の場合。UnsupportedOperationException
- Java仮想マシンがCPU時間測定をサポートしない場合。- 関連項目:
-
getThreadUserTime
long[] getThreadUserTime(long[] ids) 入力配列ids
にIDがある各スレッドがユーザー・モードで実行したCPU時間(ナノ秒単位)を返します。 戻り値はナノ秒単位の精度ですが、必ずしもナノ秒の正確度ではありません。このメソッドは、入力配列
ids
にあるスレッドIDごとにThreadMXBean.getThreadUserTime(long)
メソッドを呼び出し、返された配列の対応する要素に戻り値を設定することと同等です。- パラメータ:
ids
- スレッドIDの配列。- 戻り値:
- 長い値の配列で、それぞれがIDの入力配列の対応する要素にあるIDを持つスレッドがユーザー・モードCPU時間の量であり、指定されたIDのスレッドがプラットフォーム・スレッドである場合、スレッドは稼働しており、CPU時間の測定は有効です。それ以外の場合、
-1
です。 - 例外:
NullPointerException
-ids
がnull
である場合IllegalArgumentException
- 入力配列ids
内の任意の要素が<=
0
の場合。UnsupportedOperationException
- Java仮想マシンがCPU時間測定をサポートしない場合。- 関連項目:
-
getTotalThreadAllocatedBytes
default long getTotalThreadAllocatedBytes()Java仮想マシンの起動以降のすべてのスレッドによってヒープ・メモリーに割り当てられたメモリーの合計量の近似値をバイト単位で返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。- 実装要件:
- Java仮想マシン実装がスレッド・メモリー割当ての測定をサポートしていない場合、デフォルト実装は
UnsupportedOperationException
をスローし、それ以外の場合はスレッド・メモリー割当ての測定が無効になっているかのように動作します。 - 戻り値:
- スレッド・メモリー割当て測定が有効な場合、Java仮想マシンが起動されてからヒープ・メモリーに割り当てられた合計メモリー(バイト単位)の近似値。それ以外の場合は
-1
。 - 例外:
UnsupportedOperationException
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 導入されたバージョン:
- 21
- 関連項目:
-
getCurrentThreadAllocatedBytes
default long getCurrentThreadAllocatedBytes()現在のスレッドのヒープ・メモリー内で割り当てられたメモリー量の合計の概算をバイト単位で返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。ローカル管理用の便利なメソッドであり、次のようにコールすることに相当します:
getThreadAllocatedBytes
(Thread.currentThread().threadId());- 戻り値:
- スレッド・メモリー割当ての測定が有効な場合、現在のスレッドのヒープ・メモリー内に割り当てられた合計メモリー(バイト単位)の概数。それ以外の場合は
-1
。 - 例外:
UnsupportedOperationException
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 導入されたバージョン:
- 14
- 関連項目:
-
getThreadAllocatedBytes
long getThreadAllocatedBytes(long id) 指定されたIDを持つスレッドのヒープ・メモリー内で割り当てられたメモリー量の合計の概算をバイト単位で返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。指定されたIDを持つスレッドが仮想スレッドであるか、動作していないか、存在しない場合、このメソッドは
-1
を返します。 スレッド・メモリー割当ての測定が無効の場合、このメソッドは-1
を返します。 スレッドが開始され、まだ終了していない場合、スレッドは存続しています。スレッドが起動されたあとにスレッド・メモリー割当ての測定が有効になった場合、Java仮想マシンの実装では、スレッド・メモリー割当ての測定が起動されたポイントとして、この機能が有効になった時間以前の任意の時間を選択できます。
- パラメータ:
id
- スレッドのスレッドID- 戻り値:
- 指定されたIDを持つスレッドがプラットフォーム・スレッドであり、スレッドが動作していて、スレッド・メモリー割り当ての測定が有効になっている場合、指定されたIDを持つスレッドのヒープ・メモリー内の割り当て済みメモリーの合計(バイト単位)の近似値。それ以外の場合は
-1
。 - 例外:
IllegalArgumentException
-id
<=
0
の場合。UnsupportedOperationException
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
-
getThreadAllocatedBytes
long[] getThreadAllocatedBytes(long[] ids) 入力配列ids
にIDがある各スレッドのヒープ・メモリーに割り当てられた総メモリー量の近似値(バイト単位)を返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。このメソッドは、入力配列
ids
にあるスレッドIDごとにgetThreadAllocatedBytes(long)
メソッドを呼び出し、返された配列の対応する要素に戻り値を設定することと同等です。- パラメータ:
ids
- スレッドIDの配列。- 戻り値:
- IDの入力配列の対応する要素にIDがあるスレッドのヒープ・メモリーに割り当てられた総メモリー量の近似値(バイト単位)をそれぞれ表すlong値の配列。
- 例外:
NullPointerException
-ids
がnull
である場合IllegalArgumentException
- 入力配列ids
内の任意の要素が<=
0
の場合。UnsupportedOperationException
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
-
isThreadAllocatedMemorySupported
boolean isThreadAllocatedMemorySupported()Java仮想マシンがスレッド・メモリー割当ての測定をサポートするかどうかをテストします。- 戻り値:
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートする場合は
true
、そうでない場合はfalse
。
-
isThreadAllocatedMemoryEnabled
boolean isThreadAllocatedMemoryEnabled()スレッド・メモリー割当ての測定が有効かどうかをテストします。- 戻り値:
- スレッド・メモリー割当ての測定が有効な場合は
true
、そうでない場合はfalse
。 - 例外:
UnsupportedOperationException
- Java仮想マシンがスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
-
setThreadAllocatedMemoryEnabled
void setThreadAllocatedMemoryEnabled(boolean enable) スレッド・メモリー割当ての測定を有効または無効にします。 デフォルトはプラットフォームに依存します。- パラメータ:
enable
- 有効にするにはtrue
、無効にするにはfalse
。- 例外:
UnsupportedOperationException
- Java仮想マシンがスレッド・メモリー割当ての測定をサポートしない場合。SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がManagementPermission("control")を持たない場合。- 関連項目:
-