Встречается на собеседованиях • сегодня

Может ли Java-приложение занимать больше оперативной памяти, чем размер Heap

Да, может. Помимо Heap (кучи), Java-приложение использует память под: 1. **Metaspace/PermGen** – хранение метаданных классов (ранее PermGen до Java 8). 2. **Stack** – стеки потоков (Thread Stack). 3. **Native Memory** – память, выделяемая JNI, буферы (например, DirectByteBuffer), сборщик мусора и JIT-компилятор. 4. **Off-Heap** – например, кэши вне кучи (Ehcache, Hazelcast). Пример с `DirectByteBuffer`: ```java ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 1024 * 500); // 500MB вне кучи ``` Общий потребляемый объем = Heap + Off-Heap + Stack + Metaspace + Native. Мониторить можно через `jcmd VM.native_memory`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы