クラスMemoryNotificationInfo

java.lang.Object
java.lang.management.MemoryNotificationInfo

public class MemoryNotificationInfo extends Object
メモリー通知に関する情報です。

メモリー・プールのメモリー使用量がしきい値を超えていることをJava仮想マシンが検出すると、MemoryMXBeanによりメモリー通知が発行されます。 発行された通知には、検出された条件に関する次のメモリー通知情報が含まれています。

  • メモリー・プールの名前
  • 通知が構築されたときのメモリー・プールのメモリー使用量
  • 通知が構築されたときに、メモリー使用量がしきい値を超えた回数。 使用量しきい値通知の場合、このカウントは使用量しきい値カウントになります。 コレクション使用量しきい値通知の場合、このカウントはコレクション使用量しきい値カウントになります。

MemoryNotificationInfoオブジェクトを表すCompositeDataは、notificationuser dataに格納されます。 fromメソッドは、CompositeDataからMemoryNotificationInfoオブジェクトに変換するために提供されます。 たとえば、

     Notification notif;

     // receive the notification emitted by MemoryMXBean and set to notif
     ...

     String notifType = notif.getType();
     if (notifType.equals(MemoryNotificationInfo.MEMORY_THRESHOLD_EXCEEDED) ||
         notifType.equals(MemoryNotificationInfo.MEMORY_COLLECTION_THRESHOLD_EXCEEDED)) {
         // retrieve the memory notification information
         CompositeData cd = (CompositeData) notif.getUserData();
         MemoryNotificationInfo info = MemoryNotificationInfo.from(cd);
         ....
     }

MemoryMXBeanによって発行される通知のタイプは次のとおりです:

  • 使用量しきい値超過通知
    この通知は、メモリー・プールのメモリー使用量が増加し、使用量しきい値に達したか超えたときに発行されます。
    以降、使用量しきい値を超えても、メモリー使用量が使用量しきい値未満に戻るまで、通知は発行されません。
  • 使用量しきい値超過通知
    この通知は、Java仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であるときに発行されます。

導入されたバージョン:
1.5
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final String
    Java仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であることを表す通知型。
    static final String
    メモリー・プールのメモリー使用量が使用量しきい値に達したか超えたことを表す通知型。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
    MemoryNotificationInfoオブジェクトを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定されたCompositeDataで表されるMemoryNotificationInfoオブジェクトを返します。
    long
    通知が構築されたときに、メモリー使用量がしきい値を超えた回数を返します。
    この通知をトリガーするメモリー・プールの名前を返します。
    通知が構築されたときのメモリー・プールのメモリー使用量を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • MEMORY_THRESHOLD_EXCEEDED

      public static final String MEMORY_THRESHOLD_EXCEEDED
      メモリー・プールのメモリー使用量が使用量しきい値に達したか超えたことを表す通知型。 この通知はMemoryMXBeanから出力されます。 以降、使用量しきい値を超えても、メモリー使用量が使用量しきい値未満に戻るまで、通知は発行されません。 この通知タイプの値はjava.management.memory.threshold.exceededです。
      関連項目:
    • MEMORY_COLLECTION_THRESHOLD_EXCEEDED

      public static final String MEMORY_COLLECTION_THRESHOLD_EXCEEDED
      Java仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であることを表す通知型。 この通知はMemoryMXBeanから出力されます。 この通知タイプの値はjava.management.memory.collection.threshold.exceededです。
      関連項目:
  • コンストラクタの詳細

    • MemoryNotificationInfo

      public MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
      MemoryNotificationInfoオブジェクトを構築します。
      パラメータ:
      poolName - この通知をトリガーするメモリー・プールの名前。
      usage - メモリー・プールのメモリー使用量。
      count - しきい値超過回数。
  • メソッドの詳細

    • getPoolName

      public String getPoolName()
      この通知をトリガーするメモリー・プールの名前を返します。 メモリー・プールの使用量はしきい値を超えました。
      戻り値:
      この通知をトリガーするメモリー・プールの名前
    • getUsage

      public MemoryUsage getUsage()
      通知が構築されたときのメモリー・プールのメモリー使用量を返します。
      戻り値:
      通知が構築されたときのメモリー・プールのメモリー使用量
    • getCount

      public long getCount()
      通知が構築されたときに、メモリー使用量がしきい値を超えた回数を返します。 使用量しきい値通知の場合、このカウントは使用量しきい値カウントになります。 コレクション使用量しきい値通知の場合、このカウントはコレクション使用量しきい値カウントになります。
      戻り値:
      通知が構築されたときに、メモリー使用量がしきい値を超えた回数。
    • from

      public static MemoryNotificationInfo from(CompositeData cd)
      指定されたCompositeDataで表されるMemoryNotificationInfoオブジェクトを返します。 指定されたCompositeDataは、次の属性を含む必要があります。
      指定されたCompositeDataに含まれる属性および型
      属性名
      poolName java.lang.String
      usage javax.management.openmbean.CompositeData
      count java.lang.Long
      パラメータ:
      cd - MemoryNotificationInfoを表すCompositeData
      戻り値:
      cdnullでない場合はcdで表されるMemoryNotificationInfoオブジェクト、それ以外の場合はnull
      スロー:
      IllegalArgumentException - cdMemoryNotificationInfoオブジェクトを表していない場合。