首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Shutdown Hook事例

2012-07-26 
Shutdown Hook例子钩子例子:当Java程序非法退出时,这个可以用来在写日志等操作,这样就能知道我什么时候退

Shutdown Hook例子

钩子例子:

当Java程序非法退出时,这个可以用来在写日志等操作,这样就能知道我什么时候退出的,或者是假死机状态的时候及调用强制结束的时候用。

?

1.需要一个没启动的线程。

2.调用 Runtime.getRuntime().addShutdownHook(t);

参数:

hook - 一个已初始化但尚未启动的 Thread 对象

抛出:

IllegalArgumentException - 如果指定的挂钩已注册,或者可以确定挂钩正在运行或者已运行完毕

IllegalStateException - 如果虚拟机已经处于关闭进程中

SecurityException - 如果安全管理器存在并且拒绝 RuntimePermission("shutdownHooks")

?

public class ShutdownDemo {public ShutdownDemo() {Thread t = new ShutdownHookThread("Here I am !!!");Runtime.getRuntime().addShutdownHook(t);System.out.println("Now shut me down …");System.exit(0);while (true) {System.out.print(".");try {Thread.sleep(300);} catch (InterruptedException ie) {}}}public static void main(String args[]) {new ShutdownDemo();}}class ShutdownHookThread extends Thread {protected String message;public ShutdownHookThread(String message) {this.message = message;}public void run() {System.out.println("ShutdownHookThread--");System.out.println(message);}}

?

热点排行