-
- すべてのスーパー・インタフェース:
PlatformManagedObject
,ThreadMXBean
public interface ThreadMXBean extends ThreadMXBean
Java仮想マシンのスレッド・システムに対応するプラットフォーム固有の管理インタフェースです。このプラットフォーム拡張は、プラットフォーム拡張をサポートするスレッドの実装だけに利用できます。
- 導入されたバージョン:
- 6u25
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 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
isThreadAllocatedMemoryEnabled()
スレッド・メモリー割当ての測定が有効かどうかをテストします。boolean
isThreadAllocatedMemorySupported()
Java仮想マシンがスレッド・メモリー割当ての測定をサポートするかどうかをテストします。void
setThreadAllocatedMemoryEnabled(boolean enable)
スレッド・メモリー割当ての測定を有効または無効にします。-
インタフェース java.lang.management.PlatformManagedObjectから継承されたメソッド
getObjectName
-
インタフェース java.lang.management.ThreadMXBeanから継承されたメソッド
dumpAllThreads, findDeadlockedThreads, findMonitorDeadlockedThreads, getAllThreadIds, getCurrentThreadCpuTime, getCurrentThreadUserTime, getDaemonThreadCount, getPeakThreadCount, getThreadCount, getThreadCpuTime, 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時間測定をサポートしない場合。- 関連項目:
ThreadMXBean.getThreadCpuTime(long)
,getThreadUserTime(long[])
,ThreadMXBean.isThreadCpuTimeSupported()
,ThreadMXBean.isThreadCpuTimeEnabled()
,ThreadMXBean.setThreadCpuTimeEnabled(boolean)
-
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時間測定をサポートしない場合。- 関連項目:
ThreadMXBean.getThreadUserTime(long)
,getThreadCpuTime(long[])
,ThreadMXBean.isThreadCpuTimeSupported()
,ThreadMXBean.isThreadCpuTimeEnabled()
,ThreadMXBean.setThreadCpuTimeEnabled(boolean)
-
getThreadAllocatedBytes
long getThreadAllocatedBytes(long id)
指定されたIDのスレッドのヒープ・メモリーに割り当てられた総メモリー量の近似値(バイト単位)を返します。 一部のJava仮想マシン実装に使われるオブジェクト割当てメカニズムでは、オブジェクトが割り当てられた時間とそのサイズが記録される時間の間に遅延が発生するため、戻り値は近似値です。指定されたIDのスレッドが生存していないか、存在していない場合、このメソッドは
-1
を返します。 スレッド・メモリー割当ての測定が無効の場合、このメソッドは-1
を返します。 スレッドが起動され、生存している場合、スレッドは生存しています。スレッドが起動されたあとにスレッド・メモリー割当ての測定が有効になった場合、Java仮想マシンの実装では、スレッド・メモリー割当ての測定が起動されたポイントとして、この機能が有効になった時間以前の任意の時間を選択できます。
- パラメータ:
id
- スレッドのスレッドID- 戻り値:
- 指定されたIDのスレッドが存在し、生存していて、スレッド・メモリー割当ての測定が有効な場合は、指定されたIDのスレッドのヒープ・メモリーに割り当てられた総メモリー量の近似値(バイト単位)。そうでない場合は
-1
。 - 例外:
IllegalArgumentException
-id
<=
0
の場合。UnsupportedOperationException
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
isThreadAllocatedMemorySupported()
,isThreadAllocatedMemoryEnabled()
,setThreadAllocatedMemoryEnabled(boolean)
-
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仮想マシンの実装がスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
getThreadAllocatedBytes(long)
,isThreadAllocatedMemorySupported()
,isThreadAllocatedMemoryEnabled()
,setThreadAllocatedMemoryEnabled(boolean)
-
isThreadAllocatedMemorySupported
boolean isThreadAllocatedMemorySupported()
Java仮想マシンがスレッド・メモリー割当ての測定をサポートするかどうかをテストします。- 戻り値:
- Java仮想マシンの実装がスレッド・メモリー割当ての測定をサポートする場合は
true
、そうでない場合はfalse
。
-
isThreadAllocatedMemoryEnabled
boolean isThreadAllocatedMemoryEnabled()
スレッド・メモリー割当ての測定が有効かどうかをテストします。- 戻り値:
- スレッド・メモリー割当ての測定が有効な場合は
true
、そうでない場合はfalse
。 - 例外:
UnsupportedOperationException
- Java仮想マシンがスレッド・メモリー割当ての測定をサポートしない場合。- 関連項目:
isThreadAllocatedMemorySupported()
-
setThreadAllocatedMemoryEnabled
void setThreadAllocatedMemoryEnabled(boolean enable)
スレッド・メモリー割当ての測定を有効または無効にします。 デフォルトの設定はプラットフォームに応じて異なります。- パラメータ:
enable
- 有効にするにはtrue
、無効にするにはfalse
。- 例外:
UnsupportedOperationException
- Java仮想マシンがスレッド・メモリー割当ての測定をサポートしない場合。SecurityException
- セキュリティ・マネージャが存在する場合で、呼出し元がManagementPermission("control")を持たない場合。- 関連項目:
isThreadAllocatedMemorySupported()
-
-