Spec-Zone.ru › OpenJDK 24

Класс MemoryUsage

java.lang.Object
java.lang.management.MemoryUsage
public class MemoryUsage extends Object
Объект MemoryUsage представляет собой моментальный снимок использования памяти. Экземпляры класса MemoryUsage обычно создаются методами, которые используются для получения информации об использовании памяти отдельных пулов памяти виртуальной машины Java или кучи или некучной памяти виртуальной машины Java в целом.

Объект MemoryUsage содержит четыре значения:

Описывает содержимое объекта MemoryUsage
Значение Описание
init представляет собой начальный объем памяти (в байтах), который виртуальная машина Java запрашивает у операционной системы для управления памятью во время запуска. Виртуальная машина Java может запросить дополнительную память у операционной системы и может также освободить память для системы со временем. Значение init может быть неопределённым.
used представляет собой объем памяти, который используется в данный момент (в байтах).
committed представляет собой объем памяти (в байтах), который гарантированно доступен для использования виртуальной машиной Java. Количество выделенной памяти может изменяться со временем (увеличиваться или уменьшаться). Виртуальная машина Java может освободить память для системы, и committed может быть меньше, чем init. committed всегда будет больше или равно used.
max представляет собой максимальный объем памяти (в байтах), который может быть использован для управления памятью. Его значение может быть неопределённым. Максимальный объем памяти может изменяться со временем, если он определен. Количество используемой и выделенной памяти всегда будет меньше или равно max, если max определено. Приложение для выделения памяти может завершиться неудачей, если оно пытается увеличить используемую память таким образом, что used > committed, даже если used <= max всё ещё будет истинным (например, когда в системе мало виртуальной памяти).
Below is a picture showing an example of a memory pool:
        +----------------------------------------------+
        +////////////////           |                  +
        +////////////////           |                  +
        +----------------------------------------------+

        |--------|
           init
        |---------------|
               used
        |---------------------------|
                  committed
        |----------------------------------------------|
                            max
 

Сопоставление MXBean

MemoryUsage сопоставляется с CompositeData с атрибутами, как указано в методе from.
Since:
1.5

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

Конструктор Описание
MemoryUsage(long init, long used, long committed, long max)
Создаёт объект MemoryUsage.

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

Модификатор и тип Метод Описание
static MemoryUsage from(CompositeData cd)
Возвращает объект MemoryUsage, представленный заданным CompositeData.
long getCommitted()
Возвращает объем памяти в байтах, выделенный для использования виртуальной машиной Java.
long getInit()
Возвращает начальный объем памяти в байтах, запрошенный виртуальной машиной Java у операционной системы для управления памятью.
long getMax()
Возвращает максимальный объем памяти в байтах, который может быть использован для управления памятью.
long getUsed()
Возвращает объем используемой памяти в байтах.
String toString()
Возвращает описательное представление этого использования памяти.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

MemoryUsage

public MemoryUsage(long init, long used, long committed, long max)
Создаёт объект MemoryUsage.
Параметры:
init - начальный объем памяти в байтах, который выделяет виртуальная машина Java; или -1, если неопределён.
used - объем используемой памяти в байтах.
committed - объем выделенной памяти в байтах.
max - максимальный объем памяти в байтах, который может быть использован; или -1, если неопределён.
Исключения:
IllegalArgumentException - если
  • значение init или max отрицательно, но не -1; или
  • значение used или committed отрицательно; или
  • used больше, чем значение committed; или
  • committed больше, чем значение max max, если определено.

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

getInit

public long getInit()
Возвращает начальный объем памяти в байтах, который виртуальная машина Java запрашивает у операционной системы для управления памятью. Этот метод возвращает -1, если начальный размер памяти не определён.
Возвращает:
начальный размер памяти в байтах; -1, если неопределён.

getUsed

public long getUsed()
Возвращает объем используемой памяти в байтах.
Возвращает:
объём используемой памяти в байтах.

getCommitted

public long getCommitted()
Возвращает объем памяти в байтах, выделенный для использования виртуальной машиной Java. Этот объем памяти гарантированно доступен для использования виртуальной машиной.
Возвращает:
объём выделенной памяти в байтах.

getMax

public long getMax()
Возвращает максимальный объем памяти в байтах, который может быть использован для управления памятью. Этот метод возвращает -1, если максимальный размер памяти не определён.

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

Возвращает:
максимальный объём памяти в байтах; -1, если неопределён.

toString

public String toString()
Возвращает описательное представление этого использования памяти.
Overrides:
toString в классе Object
Возвращает:
строковое представление объекта

from

public static MemoryUsage from(CompositeData cd)
Возвращает объект MemoryUsage, представленный заданным CompositeData. Заданный CompositeData должен содержать следующие атрибуты:
Атрибуты и типы, содержащиеся в заданном CompositeData
Имя атрибута Тип
init java.lang.Long
used java.lang.Long
committed java.lang.Long
max java.lang.Long
Параметры:
cd - CompositeData, представляющий MemoryUsage
Возвращает:
объект MemoryUsage, представленный cd, если cd не null; null в противном случае.
Исключения:
IllegalArgumentException - если cd не представляет собой MemoryUsage с описанными выше атрибутами.

© 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/MemoryUsage.html

Spec-Zone.ru

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