Spec-Zone.ru › OpenJDK 24

Класс 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:

  • A usage threshold exceeded notification.
    Это уведомление будет отправлено, когда использование памяти пула памяти увеличится и достигнет или превысит значение порога использования. Последующее пересечение порога использования не приведет к дальнейшему уведомлению, пока использование памяти не вернётся к значению меньше порога использования.
  • A collection usage threshold exceeded notification.
    Это уведомление будет отправлено, когда использование памяти пула памяти будет больше или равно порогу использования сбора после того, как виртуальная машина Java приложила усилия для рециклинга неиспользуемых объектов в этом пуле памяти.
Since:
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.
See Also:
  • Constant Field Values

MEMORY_COLLECTION_THRESHOLD_EXCEEDED

public static final String MEMORY_COLLECTION_THRESHOLD_EXCEEDED
Тип уведомления, указывающий, что использование памяти пула памяти больше или равно порогу использования сбора после того, как виртуальная машина Java приложила усилия для рециклинга неиспользуемых объектов в этом пуле памяти. Это уведомление генерируется MemoryMXBean. Значение этого типа уведомления равно java.management.memory.collection.threshold.exceeded.
See Also:
  • Constant Field Values

Подробное описание конструкторов

MemoryNotificationInfo

public MemoryNotificationInfo(String poolName, MemoryUsage usage, long count)
Создает объект MemoryNotificationInfo.
Parameters:
poolName - Имя пула памяти, вызвавшего это уведомление.
usage - Использование памяти пула памяти.
count - Счетчик пересечений порога.

Подробное описание методов

getPoolName

public String getPoolName()
Возвращает имя пула памяти, вызвавшего это уведомление. Использование памяти пула пересекло порог.
Returns:
имя пула памяти, вызвавшего это уведомление.

getUsage

public MemoryUsage getUsage()
Возвращает использование памяти пула памяти при создании этого уведомления.
Returns:
использование памяти пула памяти при создании этого уведомления.

getCount

public long getCount()
Возвращает количество раз, когда использование памяти пересекало порог при создании уведомления. Для уведомлений о пороге использования, это значение будет threshold count. Для уведомлений о пороге сбора, это значение будет collection usage threshold count.
Returns:
количество раз, когда использование памяти пересекало порог при создании уведомления.

from

public static MemoryNotificationInfo from(CompositeData cd)
Возвращает объект MemoryNotificationInfo, представленный данным CompositeData. Данный CompositeData должен содержать следующие атрибуты:
Атрибуты и типы, содержащиеся в данном CompositeData
Имя атрибута Тип
poolName java.lang.String
usage javax.management.openmbean.CompositeData
count java.lang.Long
Parameters:
cd - CompositeData, представляющий MemoryNotificationInfo
Returns:
объект MemoryNotificationInfo, представленный cd, если cd не является null; null в противном случае.
Throws:
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.management/java/lang/management/MemoryNotificationInfo.html

Spec-Zone.ru

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