Ответ
Потоки (Thread) в Java хранятся в куче (heap), так как они являются объектами. Однако у каждого потока есть собственный стек вызовов (stack), который выделяется в отдельной области памяти и используется для хранения локальных переменных, параметров методов и состояния выполнения.
Пример:
Thread thread = new Thread(() -> {
System.out.println("Thread running");
});
thread.start(); // Создаёт поток в куче и выделяет стек
Ключевые моменты:
- Объект
Thread— в куче. - Стек потока — в отдельной области (обычно управляется JVM/ОС).
- Размер стека можно задать через
-Xssв JVM.