Встречается на собеседованиях • сегодня
В чем разница между Stack и Heap в JVM
Стек (Stack) и куча (Heap) — это области памяти в JVM, но они используются по-разному:
- Stack:
- Хранит примитивы и ссылки на объекты (локальные переменные, параметры методов).
- Работает по принципу LIFO (Last In, First Out).
- Память выделяется/освобождается автоматически при вызове/завершении метода.
- Быстрый доступ, но ограниченный размер (может привести к StackOverflowError).
- Heap:
- Хранит объекты и массивы (включая их поля).
- Память выделяется динамически, освобождается сборщиком мусора (GC).
- Размер ограничен настройками JVM (Xmx, Xms).
- Медленнее стека, но объем памяти значительно больше.
Пример:
java
void method() {
int x = 5; // x в стеке
Object obj = new Object(); // obj (ссылка) в стеке, сам объект в куче
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы