Ответ
Ссылочная переменная (например, String str) хранится в стеке (Stack Memory) как часть фрейма метода. Она содержит не сам объект, а адрес (ссылку) на область в куче (Heap Memory), где расположены данные объекта.
Пример:
String str = new String("Hello");
str(ссылка) — в стеке.- Объект
String("Hello")— в куче.
Ключевое отличие от примитивов:
- Локальные примитивные переменные (например,
int x = 5) хранят значение напрямую в стеке. - Ссылочные переменные хранят в стеке только адрес объекта в куче.