digital-garden/knowledge/dev/java/Структура памяти Java.md

36 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
tags:
- зрелость/🌱
date: "[[2023-11-06]]"
zero-link:
- "[[../../../garden/ru/meta/zero/00 Java разработка]]"
parents:
linked:
---
# Heap
^heap
Размер Heap можно задать двумя параметрами:
- `Xms` - минимальный размер
- `Xmx` - максимальный размер
### ~~Permanent Generation~~ Metaspace
^MetaSpace
Permanent Generation (PermGen) - это область памяти кучи JVM, которая используется для хранения классов и метаданных в Java. Эта область памяти отделена от основной части Java Heap.
В Java 8 PermGen был удален и заменен на Metaspace, который автоматически увеличивается (до определенного максимума), когда требуется больше памяти для хранения метаданных классов.
Metaspace имеет фиксированный размер. Сборка мусора здесь не производится, но вместо того чтобы использовать Java Heap, Metaspace использует память операционной системы. Это означает, что максимальный размер Metaspace ограничен только доступной памятью на вашем компьютере.
Размер Permanent Generation можно задать параметрами JVM:
- `XX:PermSize` минимальный размер выделяемой памяти для Permanent Generation;
- `XX:MaxPermSize` максимальный размер выделяемой памяти для Permanent Generation.
***
## Связанные заметки
- [Устройство объекта в памяти Java](Устройство%20объекта%20в%20памяти%20Java.md)