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

Как хранятся переменные в памяти Java

В Java переменные хранятся в разных областях памяти в зависимости от их типа:

  1. Примитивы (int, char, boolean и др.) – хранятся в стеке (Stack Memory) как часть фрейма метода.
    java
    int x = 10; // хранится в стеке
  1. Объекты (экземпляры классов) – создаются в куче (Heap Memory), а ссылка на них хранится в стеке.

    java
    String str = new String("Hello"); // объект в куче, ссылка `str` в стеке
  2. Статические переменные – хранятся в области Method Area (часть кучи).

Нюансы:

  • Локальные переменные метода уничтожаются после его завершения.
  • Объекты в куче удаляются сборщиком мусора (GC), когда на них нет ссылок.
  • String Pool (для строковых литералов) также находится в куче.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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