Назад к вопросам
Senior
4
Примитивное поле объекта — где будет лежать, в heap или в стеке?
Компании, где спрашивали
SSP Soft
Ответ от нейросети
sobes.tech AI
В Java примитивные поля объекта всегда хранятся внутри объекта, который располагается в куче (heap).
Объяснение:
- Объекты в Java создаются в куче.
- Все поля объекта (примитивные и ссылочные) являются частью объекта и хранятся вместе с ним в куче.
- Примитивные поля занимают фиксированное место внутри объекта.
Стек (stack) используется для хранения локальных переменных методов, включая ссылки на объекты, но не для хранения самих объектов или их полей.
Пример:
class MyClass {
int number; // примитивное поле
}
MyClass obj = new MyClass();
Здесь obj — ссылка, которая хранится в стеке (если локальная переменная), а сам объект MyClass с полем number — в куче.
Итого: примитивное поле объекта лежит в куче, внутри объекта.