0021 Java虚拟机关闭前的钩子调用【基础】
来源:互联网 发布:pc网络格斗游戏排行榜 编辑:程序博客网 时间:2024/06/05 15:44
根据 Java API, 所谓 shutdown hook 就是已经初始化但尚未开始执行的线程对象。在Runtime 注册后,在 jvm 要停止前,这些 shutdown hook 便开始执行。在jvm停止前,我们可以通过这个钩子来完成我们想完成但是却未完成的逻辑,例如,在jvm停止之前保存完数据。
java.lang.Runtim类提供了addShutdownHook(Thread hook)方法,用来添加虚拟机关闭的钩子。
用途
1应用程序正常退出,在退出时执行特定的业务逻辑。
2虚拟机非正常退出,比如用户按下ctrl+c,操作系统关闭等。在退出时执行必要的挽救措施。
实例:
public class TestOnExit {
public TestOnExit(){
doShutDownWork();
}
private void doShutDownWork(){
Runtime.getRuntime().addShutdownHook(new Thread(){
public void run(){
//程序关闭之前,在这里保存未保存的数据,处理未处理完的逻辑
System.out.println("application will exit ....");
}
});
0 0
- 0021 Java虚拟机关闭前的钩子调用【基础】
- JAVA虚拟机关闭钩子(Shutdown Hook)
- JAVA虚拟机关闭钩子(Shutdown Hook)
- java虚拟机钩子关闭函数addShutdownHook
- JAVA虚拟机关闭钩子(Shutdown Hook)
- Java关闭钩子的应用
- java的关闭钩子(Shutdown Hook)
- 虚拟机关闭前的数据保存
- java关闭钩子
- java 关闭钩子
- Java关闭钩子
- Runtime及关闭钩子-完成退出前的清理资源释放工作
- spark学习-61-源代码:ShutdownHookManager虚拟机关闭钩子管理器
- 关闭钩子
- JVM里注册Spring的关闭钩子
- Java基础增强--JavaWeb前的准备
- java一个方法调用的虚拟机实现
- 真正的上锁前,为何要调用preempt_disable()来关闭抢占的case
- VC实现FTP上传和下载
- Floyd 最短路径
- (湖北)电信、移动、联通DNS
- Python注释
- CAAnimation
- 0021 Java虚拟机关闭前的钩子调用【基础】
- 机器学习&数据挖掘笔记_20(PGM练习四:图模型的精确推理)
- android 9patch背景图片导致的一个文本显示问题
- 大量存在于iptables模块中的BUG
- webim即时通讯解决方案
- linux 内核定时器 timer_list详解
- 我的Hook学习笔记
- data structure--Stack(基于数组实现)
- Mac装windows系统