java 使用的钩子_java关闭钩子的使用注意点

1cee9689dd312d2dd8da32fe185f4c11.png

在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学习指路:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值