クラスMemoryNotificationInfo
java.lang.Object
java.lang.management.MemoryNotificationInfo
public class MemoryNotificationInfo extends Object
メモリー通知に関する情報です。
メモリー・プールのメモリー使用量がしきい値を超えていることをJava仮想マシンが検出すると、MemoryMXBeanによりメモリー通知が発行されます。 発行された通知には、検出された条件に関する次のメモリー通知情報が含まれています。
- メモリー・プールの名前
- 通知が構築されたときのメモリー・プールのメモリー使用量
- 通知が構築されたときに、メモリー使用量がしきい値を超えた回数。 使用量しきい値通知の場合、このカウントは
使用量しきい値カウントになります。 コレクション使用量しきい値通知の場合、このカウントはコレクション使用量しきい値カウントになります。
MemoryNotificationInfoオブジェクトを表すCompositeDataは、notificationのuser 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 StringJava仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であることを表す通知型。static final Stringメモリー・プールのメモリー使用量が使用量しきい値に達したか超えたことを表す通知型。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明MemoryNotificationInfo(String poolName, MemoryUsage usage, long count) MemoryNotificationInfoオブジェクトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明static MemoryNotificationInfofrom(CompositeData cd) 指定されたCompositeDataで表されるMemoryNotificationInfoオブジェクトを返します。longgetCount()通知が構築されたときに、メモリー使用量がしきい値を超えた回数を返します。この通知をトリガーするメモリー・プールの名前を返します。getUsage()通知が構築されたときのメモリー・プールのメモリー使用量を返します。
-
フィールド詳細
-
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_EXCEEDEDJava仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であることを表す通知型。 この通知は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
-
getCount
public long getCount()通知が構築されたときに、メモリー使用量がしきい値を超えた回数を返します。 使用量しきい値通知の場合、このカウントは使用量しきい値カウントになります。 コレクション使用量しきい値通知の場合、このカウントはコレクション使用量しきい値カウントになります。- 戻り値:
- 通知が構築されたときに、メモリー使用量がしきい値を超えた回数。
-
from
public static MemoryNotificationInfo from(CompositeData cd) 指定されたCompositeDataで表されるMemoryNotificationInfoオブジェクトを返します。 指定されたCompositeDataは、次の属性を含む必要があります。属性名 型 poolName java.lang.Stringusage javax.management.openmbean.CompositeDatacount java.lang.Long- パラメータ:
cd-MemoryNotificationInfoを表すCompositeData- 戻り値:
cdがnullでない場合はcdで表されるMemoryNotificationInfoオブジェクト、それ以外の場合はnull。- スロー:
IllegalArgumentException-cdがMemoryNotificationInfoオブジェクトを表していない場合。
-