Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: primitive, stack, memory

Что происходит в памяти JVM при объявлении int i = 10?

Вопрос проверяет понимание работы примитивных типов, стека и распределения памяти в JVM.

Короткий ответ

Переменная i типа int создаётся в стеке текущего метода.
Значение 10 хранится напрямую в этой ячейке памяти.
Никакие объекты в heap при этом не создаются.
int — это примитивный тип, он не имеет ссылочной природы.
Время жизни переменной ограничено временем выполнения метода.

Длинный ответ

Чтобы понять, что именно происходит, нужно разобраться, как JVM работает с примитивами.

Определение

Примитивные типы — это типы данных, которые хранят значение напрямую, без создания объектов.

Где хранится int i

При выполнении строки:

int i = 10;

происходит следующее:

  • В stack memory создаётся локальная переменная i

  • В эту переменную напрямую записывается значение 10

  • Heap не используется вообще

Почему используется stack

Stack используется для:

  • локальных переменных

  • параметров методов

  • ссылок на объекты

Преимущества:

  • очень быстрый доступ

  • автоматическое освобождение памяти

  • отсутствие участия GC

Время жизни

  • Переменная i существует только в рамках метода

  • После выхода из метода память под неё автоматически освобождается

Вывод

Примитивы хранятся в стеке и не создают нагрузки на heap и garbage collector.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • Java

    Java

Ключевые слова

#primitive

#stack

#memory

Подпишись на Java Developer в телеграм