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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。