Рубрики
Без рубрики

Разница в используемой, выделенной и максимальной памяти кучи

Узнайте, как работает адаптивный размер, и оцените разницу между максимальными, используемыми и фиксированными размерами

Автор оригинала: Ali Dehghani.

1. Обзор

В этой короткой статье мы увидим разницу между различными показателями объема памяти в JVM.

Сначала мы поговорим о том, как работает адаптивный размер, а затем оценим разницу между максимальными, используемыми и фиксированными размерами.

2. Максимальный размер и адаптивный размер

Два значения управляют размером кучи JVM : одно начальное значение, указанное с помощью флага -Xms , и другое максимальное значение, управляемое флагом -Xmx настройки .

Если мы не зададим эти флаги, то JVM выберет для них значения по умолчанию. Эти значения по умолчанию зависят от базовой ОС, объема доступной оперативной памяти и, конечно же, самой реализации JVM:

Начальный Размер

Независимо от фактического размера и значений по умолчанию, размер кучи начинается с начального размера. По мере того как мы выделяем больше объектов, размер кучи может увеличиваться, чтобы приспособиться к этому. Однако размер кучи не может превышать максимальный размер кучи.

Проще говоря, максимальный размер кучи-это размер, указанный с помощью флага -Xmx . Кроме того, когда мы явно не указываем -Xmx , JVM вычисляет максимальный размер по умолчанию .

3. Используемый Размер

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

Используемое Пространство

Используемое пространство-это объем памяти, который в настоящее время занимают объекты Java . Он всегда меньше или равен максимальному размеру.

4. Фиксированный Размер

Фиксированный размер-это объем памяти, гарантированно доступный для использования виртуальной машиной Java . Размер выделенной памяти всегда больше или равен используемому размеру.

5. Заключение

В этой короткой статье мы увидели разницу между максимальным, используемым и фиксированным размером кучи.