版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
一句话概括就是: ShutdownHook允许开发人员在JVM关闭时执行相关的代码。
1.程序正常退出 JVM关闭
3. 程序抛出异常,导致JVM关闭
6. 外界:用户注销或者关机导致JVM关闭
3. 无法确定shutdown hooks的执行顺序,就像执行多线程一样
4. 无法保证shutdown hooks会执行,例如系统崩溃kill命令等。因此应仅将其用于紧急情况下,例如确保释放关键资源等不要执行耗时操作
上述代码以及覆盖了使用场景中的事项 ,使用哪个来做验证放开对应注释即可。
OOM的测试请设置jvm参数 -Xms10m -Xmx10m
, 亲测有效就不贴图了,自行验证即可