实战
来源:互联网 发布:淘宝寺庙拍卖是真的吗 编辑:程序博客网 时间:2024/04/28 12:21
做一个爱护环境,热爱资源的程序员,在使用应用程序后,记录及时释放资源,在阅读LTS源码时,发现了Runtime.addShutdownHook()的用法,稍微记录一下。使用该方法可以给当前JVM注册一个关闭挂勾线程,在程序退出时,会执行这个关闭挂勾线程,而这个时间点,最适合进行资源的释放工作。
以下直接看实例代码:
/* * JVM虚拟器关闭挂勾:在JVM关闭时,触发执行:一般用于资源释放。 * 在2种情况下,会执行关闭挂勾: * 1.程序退出,就是程序执行完成(最后一个非守护线程退出); * 2.执行了System.exit()方法,退出程序; * 注意:直接kill进程不会执行关闭挂勾的。 * * */public class AddShutDownHook { public static void main(String[] args) throws InterruptedException { System.out.println("主线程运行.....等我5s......"); Thread.sleep(5000); //程序退出之前会执行关闭挂勾 Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { System.out.println("别着急关闭,等我先执行完。"); } })); //System.exit(0); //也会执行关闭挂勾 System.out.println("主线程运行完毕。"); }}
阅读全文
0 0
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 实战
- 用Python做单变量数据集的异常点分析
- KSGT
- Tomact datasource JNDI 详解
- 图片上传前预处理,等比缩放、裁剪 (html5 + canvas)
- python自然语言处理 第一章
- 实战
- 构建乘积数组
- linux网络设备—PHY
- springmvc前台访问404,不能进入controller,后台不报错问题解决方案心得
- 康拓普:大屏、VR、网页…..数据可视化有哪些应用场景?
- lua-使用滚动容器ScrollView
- 欢迎使用CSDN-markdown编辑器
- 字符串拼接string.format新语法
- linux下查看so文件的信息