我什么时候需要调用此方法Runtime.getRuntime().addShutdownHook()以及何时或为何需要关闭我的应用程序.有谁可以通过举一些例子来解释我这个.
谢谢
Kri*_*ris 41
据我所知,我将在下面解释.你可以google它并找到很多信息.
addShutdownHook()将注册一些将在程序终止时执行的操作.您开始的程序以两种方式结束:
如果添加ShutdownHook,则挂钩将启动一个仅在终止时开始运行的线程.例如:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
System.out.println("Running Shutdown Hook");
}
});
Run Code Online (Sandbox Code Playgroud)
将Running Shutdown Hook在任何时候终止程序时打印一个.你甚至可以打电话给System.exit(0).
例如,你可以谷歌,有足够的.问题是"你什么时候应该使用这个"就像问" catch在try-catch声明中做什么".
您可能有许多情况,例如:
所有这些都需要一段时间.
Buh*_*ndi 10
当您希望在虚拟机上发生关闭时发生某些事情时,您只需担心关闭挂钩.
来自Javadoc:
Java虚拟机关闭以响应两种事件:
- 当最后一个非守护程序线程退出或调用退出(等效,System.exit)方法时,程序正常退出,或者
- 响应于用户中断(例如,键入^ C)或系统范围的事件(例如用户注销或系统关闭),终止虚拟机.
因此,关闭挂钩是一个初始化和未启动的线程,在发生JVM关闭时执行.
应用程序服务器(例如JBoss AS)中存在流行的关闭挂钩示例.当您按Ctrl+时C,JVM会Runtime在退出之前调用所有已注册的关闭挂钩(例如JBoss关闭挂钩).
| 归档时间: |
|
| 查看次数: |
35716 次 |
| 最近记录: |