Класс 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:
usage threshold exceeded notification.
Это уведомление будет генерироваться, когда использование памяти пула памяти увеличивается и достигает или превышает его значение порога использования. Последующее пересечение порога использования не приводит к дальнейшему уведомлению, пока использование памяти не станет меньше порога использования.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) | Создает объект |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static MemoryNotificationInfo | from(CompositeData cd) | Возвращает объект |
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryNotificationInfo.html