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, 2013, Oracle and/or its affiliates. All rights reserved.