Безопасно ли обнаружить StackOverflowError в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Безопасно ли обнаружить StackOverflowError в Java?

Сообщение Anonymous »

У меня есть две разные реализации функции (например, размера дерева): одна рекурсивная, а другая использует явный стек.

Рекурсия очень быстрая (вероятно, потому, что ей не нужно ничего выделять в куче), но может вызвать переполнение стека на некоторых «редких» входных данных (в примере с деревом это будет на любом несбалансированном дереве). Явная версия работает медленнее, но вряд ли вызовет переполнение стека.

Насколько безопасно использовать рекурсивную реализацию по умолчанию и восстанавливаться после исключения StackOverflowError, выполняя явную версию?

Считается ли это плохой практикой?

Вот небольшой пример кода:

interface Node {
List

Вернуться в «JAVA»