Класс MemoryNotificationInfo
public class MemoryNotificationInfo extends Object
Уведомление о памяти отправляется интерфейсом MemoryMXBean, когда виртуальная машина Java обнаруживает, что использование памяти в пуле памяти превышает пороговое значение. Отправленное уведомление будет содержать информацию об уведомлении о памяти для обнаруженного условия:
- Имя пула памяти.
- Использование памяти в пуле памяти на момент создания уведомления.
- Число случаев превышения порогового значения использования памяти на момент создания уведомления. Для уведомлений о пороговом значении использования это число будет соответствовать
usage threshold count. Для уведомлений о пороговом значении сбора это число будет соответствоватьcollection usage threshold count.
Объект CompositeData, представляющий объект MemoryNotificationInfo, сохраняется в user data объекта notification. Метод 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:
usage threshold exceeded notification.
Это уведомление отправляется, когда использование памяти в пуле памяти увеличивается и достигает или превышает пороговое значение использования. Последующее пересечение порогового значения использования не вызывает новых уведомлений, пока использование памяти не станет меньше этого порогового значения.collection usage threshold exceeded notification.
Это уведомление отправляется, когда использование памяти в пуле памяти становится равным или превышает пороговое значение использования после сборки после того, как виртуальная машина Java предприняла усилия по освобождению объектов, которые больше не используются в этом пуле памяти.
- Начиная с:
- 1.5
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
MEMORY_COLLECTION_THRESHOLD_EXCEEDED |
Тип уведомления, обозначающий, что использование памяти в пуле памяти больше или равно пороговому значению использования после сборки после того, как виртуальная машина Java предприняла усилия по освобождению объектов, которые больше не используются в этом пуле памяти. |
static final String |
MEMORY_THRESHOLD_EXCEEDED |
Тип уведомления, обозначающий, что использование памяти в пуле памяти достигло или превысило пороговое значение использования. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MemoryNotificationInfo |
Создает объект MemoryNotificationInfo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static MemoryNotificationInfo |
from |
Возвращает объект MemoryNotificationInfo, представленный заданным значением CompositeData. |
long |
getCount() |
Возвращает число случаев превышения порогового значения использования памяти на момент создания уведомления. |
String |
getPoolName() |
Возвращает имя пула памяти, вызвавшего это уведомление. |
MemoryUsage |
getUsage() |
Возвращает использование памяти в пуле памяти на момент создания этого уведомления. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Проверяет, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарел, будет удален: этот элемент API может быть удален в будущей версии. Финализация признана устаревшей и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка времени. |
Подробное описание полей
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_EXCEEDED
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()
threshold
count. Для уведомлений о пороговом значении сбора это число будет соответствовать collection usage threshold count.- Возвращает:
- число случаев превышения порогового значения использования памяти на момент создания уведомления.
from
public static MemoryNotificationInfo from(CompositeData cd)
MemoryNotificationInfo, представленный заданным значением CompositeData. Заданное значение CompositeData должно содержать следующие атрибуты: | Имя атрибута | Тип |
|---|---|
| poolName | java.lang.String |
| usage | javax.management.openmbean.CompositeData |
| count | java.lang.Long |
- Параметры:
-
cd—CompositeData, представляющееMemoryNotificationInfo - Возвращает:
- объект
MemoryNotificationInfo, представленный значениемcd, еслиcdне равноnull; в противном случае —null. - Вызывает исключение:
-
IllegalArgumentException— еслиcdне представляет объектMemoryNotificationInfo.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.