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が発行する通知の型は次のとおりです。
使用量しきい値超過通知
。使用量しきい値超過通知
。修飾子と型 | フィールドと説明 |
---|---|
static String |
MEMORY_COLLECTION_THRESHOLD_EXCEEDED
Java仮想マシンがメモリー・プールで使用しないオブジェクトのリサイクルに最善を尽くしたあと、メモリー・プールのメモリー使用量がコレクション使用量しきい値以上であることを表す通知型。
|
static String |
MEMORY_THRESHOLD_EXCEEDED
メモリー・プールのメモリー使用量が使用量しきい値に達したか超えたことを表す通知型。
|
コンストラクタと説明 |
---|
MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
MemoryNotificationInfoオブジェクトを構築します。
|
修飾子と型 | メソッドと説明 |
---|---|
static MemoryNotificationInfo |
from(CompositeData cd)
指定されたCompositeDataによって表されるMemoryNotificationInfoオブジェクトを返します。
|
long |
getCount()
通知が構築されたときに、メモリー使用量がしきい値を超えた回数を返します。
|
String |
getPoolName()
この通知をトリガーするメモリー・プールの名前を返します。
|
MemoryUsage |
getUsage()
通知が構築されたときのメモリー・プールのメモリー使用量を返します。
|
public static final String MEMORY_THRESHOLD_EXCEEDED
MemoryMXBean
から出力されます。以降、使用量しきい値を超えても、メモリー使用量が使用量しきい値未満に戻るまで、通知は発行されません。この通知の型の値はjava.management.memory.threshold.exceededです。public static final String MEMORY_COLLECTION_THRESHOLD_EXCEEDED
MemoryMXBean
から出力されます。この通知の型の値はjava.management.memory.collection.threshold.exceededです。public MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
poolName
- この通知をトリガーするメモリー・プールの名前。usage
- メモリー・プールのメモリー使用量。count
- しきい値超過回数。public String getPoolName()
public MemoryUsage getUsage()
public long getCount()
使用量しきい値カウント
になります。コレクション使用量しきい値通知の場合、このカウントはコレクション使用量しきい値カウント
になります。public static MemoryNotificationInfo from(CompositeData cd)
属性名 型 poolName java.lang.String usage javax.management.openmbean.CompositeData count java.lang.Long
cd
- MemoryNotificationInfoを表すCompositeDataIllegalArgumentException
- cdがMemoryNotificationInfoオブジェクトを表さない場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.