Как рекурсия реализована в Java

Как рекурсия реализована в Java? Мой вопрос о том, что происходит, когда в Java выполняется рекурсивный метод. Я смутно понимаю, что он использует стек, но я ищу четкое объяснение с примером.

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

етров, локальных переменных и адреса возврата, это пространство называется записью активации (стековый фрейм).

Рекурсия вызывает метод, имя которого совпадает с именем вызывающего, следовательноa recursive call is not litterally a method calling it self but an instantiation of a method calling another instantiation of the same original, эти вызовы внутренне представлены различными записями активации это означает, что они дифференцированы системой.

чем в других (обязательных) языках.

Там & APOS; sстек который содержит кадр стека для каждого вызова метода. Этот стекстек вызовов (или просто «стек», когда контекст проясняет, что имеется в виду). Элемент в стеке называется «кадрами стека».

Кадр стека содержит переданные аргументы метода и локальные переменные вызова метода (и, возможно, некоторые другие данные, такие как адрес возврата).

Когда метод вызывает себя (или, на самом деле,any метод), затем создается новый кадр стека для параметров и локальных переменных вновь вызванного метода.

Во время выполнения метода код можетonly получить доступ к значениям вcurrent (т. е. самый верхний) кадр стека.

Таким образом, одна (локальная) переменная может иметь много разных значений одновременно.

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

ВАШ ОТВЕТ НА ВОПРОС