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