博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RunTime.getRunTime().addShutdownHook用法
阅读量:6656 次
发布时间:2019-06-25

本文共 927 字,大约阅读时间需要 3 分钟。

hot3.png

Runtime.getRuntime().addShutdownHook(shutdownHook);

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

public class RunTimeTest {	/**	  * @param args	  */	 public static void main(String[] args) {	  Thread thread1 = new Thread() {	   public void run() {	    System.out.println("thread1...");	   }	  };	  Thread thread2 = new Thread() {	   public void run() {	    System.out.println("thread2...");	   }	  };	  Thread shutdownThread = new Thread() {	   public void run() {	    System.out.println("shutdownThread...");	   }	  };	  Runtime.getRuntime().addShutdownHook(shutdownThread);	  thread1.start();	  thread2.start();	 }}

打印结果:
thread2...
thread1...
shutdownThread...
或者:
thread2...
thread1...
shutdownThread...
结论:
无论是先打印thread1还是thread2,shutdownThread 线程都是最后执行的(因为这个线程是在jvm执行关闭前才会执行)。

转载于:https://my.oschina.net/junfrank/blog/368638

你可能感兴趣的文章
Windows phone开发初体验之-页面导航
查看>>
groovy 闭包的用途
查看>>
前端工程师的进阶之路
查看>>
request
查看>>
Go 语言环境变量设置
查看>>
上海社保已经破产,全国呢?
查看>>
Centos7 配置 sendmail、postfix 端口号25、465
查看>>
ActiveMQ - 初体验,探讨JMS通信模型
查看>>
URL的井号(转自阮一峰)
查看>>
我的友情链接
查看>>
解密FFmpeg播放状态控制内幕
查看>>
我的友情链接
查看>>
90、MPLS基础配置实验
查看>>
51cto博客 存在csrf漏洞
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
路由器的密码恢复
查看>>
使用Hystrix守护应用(3)
查看>>
mysql数据库show processlist查看当前连接数及状态,show status查看所有状态
查看>>
收集了一些linux的命令
查看>>