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

В чем разница между типами памяти Java

В Java есть два основных типа памяти: стек (stack) и куча (heap).

  • Стек – используется для хранения примитивных типов и ссылок на объекты. Каждый поток имеет свой стек. Память выделяется и освобождается автоматически (LIFO).
  • Куча – хранит объекты и массивы. Общая для всех потоков. Управляется сборщиком мусора (GC).

Пример:

java
int x = 10; // хранится в стеке  
String s = new String("Hello"); // объект в куче, ссылка `s` в стеке  

Также есть метаспейс (Metaspace) – хранит метаданные классов (раньше PermGen).

Отличия:

  • Стек – быстрый, но ограниченный размер.
  • Куча – динамическое выделение, но медленнее.
  • Утечки памяти возможны только в куче.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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