Java 예외치명적
NoClassDefFoundErrorNoClassDefFoundError
컴파일 시점에는 클래스가 존재했지만 런타임에 로드할 수 없습니다.
jvmandroidspring
상세 보기 StackOverflowError호출 스택이 최대 크기를 초과했습니다. 주로 깊거나 무한한 재귀가 원인입니다.
메서드가 적절한 기저 조건 없이 재귀적으로 자신을 호출하거나, 메서드 간 상호 재귀로 무한 루프가 발생합니다. 각 메서드 호출이 스택 공간을 소비하여 한계에 도달합니다.
재귀 메서드에 기저 조건을 추가하거나 수정하세요. 재귀를 반복문으로 변환하세요. `-Xss` JVM 플래그로 스택 크기를 늘리세요. 생성자나 `toString` 메서드에서 의도치 않은 무한 재귀가 없는지 확인하세요.
void recurse() { recurse(); }NoClassDefFoundError컴파일 시점에는 클래스가 존재했지만 런타임에 로드할 수 없습니다.
DirectoryNotEmptyException디렉터리가 비어 있지 않아 삭제에 실패했습니다.
IOExceptionI/O 작업이 실패하거나 중단되었습니다.
InvalidClassException직렬화된 클래스의 버전이 호환되지 않거나 형식이 유효하지 않습니다.
IllegalArgumentException메서드가 예상 범위나 형식에 맞지 않는 인자를 받았습니다.
ConcurrentModificationException컬렉션을 순회하는 도중 컬렉션이 수정되었습니다.