Как предсказать максимальную глубину вызова рекурсивного метода?

В целях оценки максимальной глубины вызова рекурсивного метода может быть достигнут с заданным объемом памяти, какова (приблизительная) формула для вычисления памяти, используемой до того, как может произойти ошибка переполнения стека?

Редактировать:

Многие ответили "это зависит", что разумно, так что давайтеs удалите некоторые переменные, используя тривиальный, но конкретный пример:

public static int sumOneToN(int n) {
    return n < 2 ? 1 : n + sumOneToN(n - 1);
}

Легко показать, что выполнение этого в моей Eclipse IDE взрывается дляn чуть ниже 1000 (на удивление низко для меня). Мог ли этот предел глубины вызова быть оценен без его выполнения?

Изменить: я могуЯ не думаю, что Eclipse имеет фиксированную максимальную глубину вызова 1000, потому что я получил998, но там's один для основного и один для начального вызова метода, делая1000 в целом. Это "слишком круглая число ИМХО будет совпадением. Я'буду расследовать дальше. У меня только Dux накладные расходы на параметр -Xss vm; Это's максимальный размер стека, поэтому Eclipse Runner должен иметь-Xss1000 установить где-нибудь

Ответы на вопрос(6)

Ваш ответ на вопрос