finally代码块不被执行的情况总结


1.System.exit() 执行,虚拟机终止。

2.捕获之前方法结束,在执行try之前。

3.守护线程中,如果用户线程结束,会强制守护线程终止。


线程的分类:

1.用户线程

默认的就是用户

2.守护线程(后台线程)

设置setDaemon(true)

特点:如果对应的用户线程销毁的时候,无论守护线程是否结束都会强制结束。

主线程(用户线程)  GC线程(守护线程)

你可能感兴趣的:(finally代码块不被执行的情况总结)