- 虚拟机退出:JVM会在所有非后台线程关闭后才会退出,如在一个main线程里新产生一个线程,而该线程阻塞了,那么虚拟机不会退出。后台线程会在所有非后台线程退出后都停止任务。
- 系统调用System.exit(0):在线程中调用会导致整个系统退出。在调用该代码之后定义代码均不会运行。
- JAVA的钩子函数是在jvm正常退出时会调用:
例如在线程上调用System.exit(0)时会调用注册的钩子函数。钩子函数定义:Runtime.getRuntime().addShutdownHook(“定义的线程”);
ps: linux上kill服务进程会调用钩子函数。
JVM的钩子函数实践调用
最新推荐文章于 2023-12-26 17:26:58 发布