- すべてのスーパー・インタフェース:
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時間(ナノ秒単位)を返します。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のスレッドが存在し、生存していて、CPU時間の測定が有効な場合は、IDの入力配列の対応する要素にIDがあるスレッドのCPU時間をそれぞれ表すlong値の配列。そうでない場合は
-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のスレッドが存在し、生存していて、CPU時間の測定が有効な場合は、IDの入力配列の対応する要素にIDがあるスレッドのユーザー・モードのCPU時間をそれぞれ表すlong値の配列。そうでない場合は
-1
。 - 例外:
NullPointerException
-ids
がnull
である場合IllegalArgumentException
- 入力配列ids
内の任意の要素が<=
0
の場合。UnsupportedOperationException
- Java仮想マシンがCPU時間測定をサポートしない場合。- 関連項目:
-
getCurrentThreadAllocatedBytes
default long getCurrentThreadAllocatedBytes()現在のスレッドのヒープ・メモリー内で割り当てられたメモリー量の合計の概算をバイト単位で返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。ローカル管理用の便利なメソッドであり、次のようにコールすることに相当します:
getThreadAllocatedBytes
(Thread.currentThread().getId());- 戻り値:
- スレッド・メモリー割当ての測定が有効な場合、現在のスレッドのヒープ・メモリー内に割り当てられた合計メモリー(バイト単位)の概数。それ以外の場合は
-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")を持たない場合。- 関連項目:
-