热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RunTime.getRunTime().addShutdownHook()用法

前言Runtime.getRuntime().addShutdownHook(shutdownHook);这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关
前言

Runtime.getRuntime().addShutdownHook(shutdownHook);
这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。

测试代码:

/*** jvm关闭时的执行钩子函数测试*/@Testpublic void shutDownHookTest() {Thread thread1 = new Thread(() -> System.out.println("thread1 start...."));Thread thread2 = new Thread() {@Overridepublic void run() {System.out.println("thread2 start.....");}};// 定义jvm关闭时的钩子线程函数Thread shutDownThread = new Thread() {@Overridepublic void run() {System.out.println("钩子函数-系统服务停止....");}};// 这个方法的意思就是在jvm中增加一个关闭的钩子,// 当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子,// 当系统执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作Runtime.getRuntime().addShutdownHook(shutDownThread);// 启动线程测试thread1.start();thread2.start();// 输出结果:无论是thread1在前还是thread2在前,jvm关闭时,都是shutDownThread最后执行。}

执行结果:

在这里插入图片描述


推荐阅读
author-avatar
木_妍_595
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有