Ответ
Примитивное поле класса хранится в Heap.
Объяснение: Поле класса (нестатическое) является частью состояния объекта. Поскольку все объекты размещаются в куче (Heap), их поля, включая примитивные, также хранятся там.
Сравнение с локальными переменными:
class MemoryLocationDemo {
int instanceField = 100; // Хранится в HEAP (внутри объекта).
void someMethod() {
int localVar = 200; // Хранится в STACK (внутри фрейма метода).
}
}
Краткое правило:
- Heap: Все поля объекта (примитивные и ссылочные).
- Stack: Локальные переменные и параметры методов (примитивы и ссылки).
Примитивы внутри объектов никогда не хранятся в стеке. Стек используется только для временных данных выполнения методов.