在Java中有一些知识点的名称是非常有意思的,我们在看到它的时候,自然就会产生想要了解的想法。本篇要带来的是java中的关闭钩子,它是jvm中的一种使用,主要是用来对其进行关闭的。那么java关闭钩子的使用注意点,想必大家还没有学习过,下面我们就来进行详细的介绍。
1、说明
关闭钩子本质上是一个线程(也称为Hook线程),用来监听JVM的关闭。通过使用Runtime的addShutdownHook(Thread hook)可以向JVM注册一个关闭钩子。Hook线程在JVM 正常关闭才会执行,在强制关闭时不会执行。
2、使用注意
无论是手动关闭程序还是程序自动结束,钩子方法都会执行。
(1)关闭钩子执行的前提是JVM正常关闭,异常关闭的情况和强制关闭无法保证执行。
(2)JVM可以注册多个关闭钩子,这些钩子和JVM中其他线程并发执行,最终全部停止。
(3)JVM关闭阶段,很多资源回收,关闭钩子不能依赖其他程序或者钩子要关闭的服务。
3、实例public static void main(String[] args) {
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
System.out.println("shutdown hook run~~~");
}
}));
try {
Thread.sleep(150000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.exit(0);
}
以上就是java关闭钩子的使用注意点,大家在对关闭钩子进行使用时,也不要忘记了上面的三点注意事项,避免产生不必要的出错。更多Java学习指路: