Spec-Zone.ru › OpenJDK 8

Класс MemoryUsage

  • java.lang.Object
    • java.lang.management.MemoryUsage

public class MemoryUsage
extends Object

Объект MemoryUsage представляет собой снимок использования памяти. Экземпляры класса MemoryUsage обычно создаются методами, которые используются для получения информации об использовании памяти отдельных пулов памяти виртуальной машины Java или кучи (heap) или не-кучи (non-heap) памяти виртуальной машины Java в целом.

Объект 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. Этот объём памяти гарантирован для использования виртуальной машиной Java.

Возвращает:
объём выделенной памяти в байтах.

getMax

public long getMax()

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

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

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

toString

public String toString()

Возвращает описательное представление этого использования памяти.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

from

public static MemoryUsage from(CompositeData cd)

Возвращает объект MemoryUsage, представленный данным 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, 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