Да и нет, (но в основном нет! :)
Нет, это невозможно (самый разумный ответ): Для каждого вызова будет запись активации, помещенная в стек вызовов JVM.Это занимает ненулевой объем памяти, поэтому в какой-то момент у вас закончится память, и в этот момент будет выдано исключение StackOverflowException.
Да, это возможно (супер-теоретический ответ): В Спецификации языка Java нет ничего, что явно указывало бы на то, что в конечном итоге вы должны столкнуться с StackOverflowException.Это означает, что если вы найдете достаточно умный компилятор, он может быть достаточно умен, чтобы скомпилировать его в цикл .
С этим вопросом будет связан JVM поддерживает оптимизацию хвостового вызова. " Ответ на этот вопрос:" Нет, не сейчас, но это не исключено для будущих версий ".