Встречается на собеседованиях • сегодня
В чем разница между стеком и кучей в многопоточности
Стек — это область памяти, выделяемая для каждого потока. Он хранит локальные переменные и вызовы методов. Каждый поток имеет свой собственный стек, поэтому доступ к нему потокобезопасен.
Куча — общая область памяти для всех потоков. Здесь хранятся объекты, созданные через new. Так как куча доступна всем потокам, требуется синхронизация (synchronized, volatile, ConcurrentHashMap и т. д.).
Пример:
java
public class Example {
private static int sharedVar = 0; // хранится в куче
public static void main(String[] args) {
int localVar = 5; // хранится в стеке потока
new Thread(() -> {
sharedVar++; // требует синхронизации
System.out.println(localVar); // потокобезопасно (копия в стеке)
}).start();
}
}Итог:
- Стек — приватный для потока, быстрый.
- Куча — общая, требует синхронизации.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы