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

Для чего нужно делить память на области

В Java память делится на несколько областей для эффективного управления ресурсами и изоляции данных:

  1. Heap — хранит объекты и массивы. Управляется сборщиком мусора (GC).
  2. Stack — содержит фреймы методов, локальные переменные и ссылки на объекты. Каждый поток имеет свой стек.
  3. Metaspace (ранее PermGen) — хранит метаданные классов (до Java 8 — PermGen, теперь динамически расширяется).
  4. Native Memory — используется JVM для внутренних нужд (например, JIT-компиляция).

Пример:

java
public class Example {
    public static void main(String[] args) {
        int x = 10; // Stack (примитив)
        Object obj = new Object(); // Heap (объект), ссылка — в Stack
    }
}

Разделение позволяет:

  • Управлять жизненным циклом объектов (Heap vs Stack).
  • Изолировать данные потоков (Stack).
  • Оптимизировать работу GC и JIT.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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