Встречается на собеседованиях • сегодня

Какое исключение возникает, если заканчивается память в стеке

При переполнении стека в Java выбрасывается StackOverflowError. Это происходит, когда глубина рекурсивных вызовов методов превышает размер стека (обычно из-за бесконечной рекурсии).

Пример:

java
public class StackOverflowExample {
    public static void recursiveMethod() {
        recursiveMethod(); // Бесконечная рекурсия
    }
    
    public static void main(String[] args) {
        recursiveMethod(); // Вызовет StackOverflowError
    }
}

Основные причины:

  • Глубокая рекурсия без базового случая
  • Большое количество локальных переменных в методах
  • Циклические вызовы между методами

В отличие от OutOfMemoryError, который возникает при нехватке памяти в куче, StackOverflowError связан именно с переполнением стека вызовов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы