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

Как переходят данные между Stack и Heap

В Java объекты создаются в Heap, а примитивы и ссылки на объекты хранятся в Stack.

  • Примитивы (int, boolean и т.д.) хранятся прямо в Stack.
  • Объекты создаются в Heap, а в Stack хранится только ссылка на них.

Пример:

java
void method() {
    int x = 5;          // x в Stack
    String s = "Hello"; // s (ссылка) в Stack, сам объект "Hello" в Heap
}

При вызове метода:

  1. В Stack создается фрейм метода.
  2. Локальные переменные (примитивы/ссылки) хранятся в этом фрейме.
  3. Объекты, на которые указывают ссылки, лежат в Heap.

После завершения метода фрейм удаляется, а объекты в Heap остаются до сборки мусора (если на них нет ссылок).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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