Spec-Zone.ru › OpenJDK 21

Класс 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()
Возвращает использование памяти пулом памяти во время создания этого уведомления.

Методы, объявленные в классе java.lang.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 должен содержать следующие атрибуты:
Атрибуты и типы, которые содержит заданный 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, 2023, 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/21/docs/api/java.management/java/lang/management/MemoryNotificationInfo.html

Spec-Zone.ru

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