Debido a que estaba teniendo problemas con el desbordamiento de la pila debido a una recursividad demasiado profunda, intenté jugar con el ciclo while. pero incluso aunque salir de la recursividad antes del desbordamiento y volver a ingresar la recursividad aún causa desbordamiento, ¿cómo borro la memoria asignada de la pila que contiene la recursividad después de salir?
No estoy seguro de eso... pero puedes probar - System.runFinalization(); O System.runFinalizersOnExit();
Cuando su aplicación cierre, la pila debe borrarse, es probable que su recursividad aún sea demasiado profunda. Verifique su código cuidadosamente cuando esté usando recursividad, asegúrese de que su método recursivo finalice. Si su método recursivo termina, podría aumentar el tamaño de su pila, pero no lo recomendaría. En su lugar, debe preguntarse a sí mismo si su método.
pero si desea aumentar el tamaño de la pila, consulte este enlace: ¿Cómo aumentar el tamaño de la pila de Java?