Spec-Zone.ru › OpenJDK 8

Класс MemoryNotificationInfo

  • java.lang.Object
    • java.lang.management.MemoryNotificationInfo

public class MemoryNotificationInfo
extends Object

Информация о событии уведомления о памяти.

Уведомление о памяти генерируется MemoryMXBean, когда виртуальная машина Java обнаруживает, что использование памяти пула памяти превышает пороговое значение. Сгенерированное уведомление будет содержать информацию об обнаруженном состоянии:

  • Имя пула памяти.
  • Использование памяти пулом памяти в момент создания уведомления.
  • Количество раз, когда использование памяти пересекло порог в момент создания уведомления. Для уведомлений о пороговом значении использования это будет usage threshold count. Для уведомлений о пороговом значении сбора это будет collection usage threshold count.

A 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 String MEMORY_COLLECTION_THRESHOLD_EXCEEDED

Тип уведомления, указывающий, что использование памяти пулом памяти больше или равно его порогу использования сбора после того, как виртуальная машина Java приложила усилия к рециклизации неиспользуемых объектов в этом пуле памяти.

static 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 должен содержать следующие атрибуты:

Имя атрибута Тип
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, 2020, 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.

Spec-Zone.ru

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