The simplest Java programs run from the console and executed in a single thread, when an uncaught RuntimeException is thrown, it will print a stack trace to the console and terminate the thread and itself.
But if you work on Java Swing, Java web applicaiton or multiple threads application, then the thread always remains alive, in spite of any RuntimeExceptions thrown by your program.

1. Where Uncaught Exceptions Go
2. How uncaught exceptions are handled
3. Provide an uncaught exception handler
4. Uncaught exception handlers
5. Java theory and practice: Hey, where’d my thread go?
6. Unchecked exceptions in Java