Назад к вопросам
РЖД
Junior — Middle
61
Каким образом организована область памяти для переменных в языке Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java область памяти для переменных организована следующим образом:
- Стек (Stack): хранит локальные переменные и параметры методов. Каждому потоку соответствует свой стек. Переменные в стеке существуют только во время выполнения метода.
- Куча (Heap): используется для хранения объектов и массивов, созданных с помощью оператора
new. Куча общая для всех потоков. - Метаспейс (Metaspace): хранит метаданные классов и другую служебную информацию.
Пример:
public void example() {
int localVar = 10; // хранится в стеке
String str = new String("Hello"); // объект String в куче, ссылка в стеке
}
Таким образом, примитивные локальные переменные и ссылки на объекты хранятся в стеке, а сами объекты — в куче.