モジュール jdk.management
パッケージ com.sun.management

インタフェースThreadMXBean

すべてのスーパー・インタフェース:
PlatformManagedObject, ThreadMXBean

public interface ThreadMXBean extends ThreadMXBean
Java仮想マシンのスレッド・システムに対応するプラットフォーム固有の管理インタフェースです。

このプラットフォーム拡張は、プラットフォーム拡張をサポートするスレッドの実装だけに利用できます。

導入されたバージョン:
6u25
  • メソッドの詳細

    • getThreadCpuTime

      long[] getThreadCpuTime(long[] ids)
      入力配列idsにIDがある各スレッドの合計CPU時間(ナノ秒単位)を返します。 戻り値はナノ秒単位の精度ですが、必ずしもナノ秒の正確度ではありません。

      このメソッドは、入力配列idsにあるスレッドIDごとにThreadMXBean.getThreadCpuTime(long)メソッドを呼び出し、返された配列の対応する要素に戻り値を設定することと同等です。

      パラメータ:
      ids - スレッドIDの配列。
      戻り値:
      指定されたIDのスレッドが存在し、生存していて、CPU時間の測定が有効な場合は、IDの入力配列の対応する要素にIDがあるスレッドのCPU時間をそれぞれ表すlong値の配列。そうでない場合は-1
      例外:
      NullPointerException - idsnullである場合
      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 - idsnullである場合
      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 - idsnullである場合
      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")を持たない場合。
      関連項目: