Spec-Zone.ru › OpenJDK 25

Класс MemoryNotificationInfo

java.lang.Object
java.lang.management.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(String poolName, MemoryUsage usage, long count)
Создает объект MemoryNotificationInfo.

Краткое описание методов

Модификатор и тип Метод Описание
static MemoryNotificationInfo from(CompositeData cd)
Возвращает объект MemoryNotificationInfo, представленный указанным объектом CompositeData.
long getCount()
Возвращает количество пересечений порога использования памяти на момент создания уведомления.
String getPoolName()
Возвращает имя пула памяти, вызвавшего это уведомление.
MemoryUsage getUsage()
Возвращает использование памяти пулом памяти на момент создания этого уведомления.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, 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
Тип уведомления, указывающий, что использование памяти пулом памяти больше или равно порогу использования после сбора после того, как виртуальная машина Java предприняла усилия по освобождению неиспользуемых объектов в этом пуле памяти. Это уведомление отправляется компонентом 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 должен содержать следующие атрибуты:
The attributes and the types the given CompositeData contains
Имя атрибута Тип
poolName java.lang.String
usage javax.management.openmbean.CompositeData
count java.lang.Long
Параметры:
cd — CompositeData, представляющий MemoryNotificationInfo
Возвращает:
объект MemoryNotificationInfo, представленный объектом cd, если cd не равен null; в противном случае — null.
Вызывает исключение:
IllegalArgumentException — если cd не представляет объект MemoryNotificationInfo.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, способы обхода проблем и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/java/lang/management/MemoryNotificationInfo.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API