StackOverflowErrorStackOverflowError
La pila de llamadas ha superado su tamaño máximo, normalmente debido a recursión profunda o infinita.
Qué causa este error
Un método se llama a sí mismo recursivamente sin un caso base adecuado, o la recursión mutua entre métodos crea un bucle infinito. Cada llamada a método consume espacio de pila hasta alcanzar el límite.
Cómo solucionarlo
Añade o corrige el caso base en los métodos recursivos. Convierte la recursión en iteración. Aumenta el tamaño de la pila con el flag -Xss de la JVM. Comprueba si hay recursión infinita accidental en constructores o métodos toString.
Ejemplo
void recurse() { recurse(); }Códigos de Error Relacionados
NoClassDefFoundErrorNoClassDefFoundError
Una clase se encontró en tiempo de compilación pero no puede cargarse en tiempo de ejecución.
DirectoryNotEmptyExceptionDirectoryNotEmptyException
La eliminación de un directorio falla porque el directorio no está vacío.
IOExceptionIOException
Una operación de E/S falla o se interrumpe.
InvalidClassExceptionInvalidClassException
Una clase serializada tiene una versión incompatible o un formato inválido.
IllegalArgumentExceptionIllegalArgumentException
Un método recibe un argumento que no es válido para su rango o formato esperado.
ConcurrentModificationExceptionConcurrentModificationException
Se modifica una colección mientras se está iterando sobre ella.