
[java] view plain copy
package test
public class TestShutDownHook {
public TestShutDownHook() {
doShutDownWork()
}
private void doShutDownWork() {
Runtime run=Runtime.getRuntime()//当前 Java 应用程序相关的运行时对象。
run.addShutdownHook(new Thread(){ //注册新的虚拟机来关闭钩子
@Override
public void run() {
//程序结束时进行的 *** 作
System.out.println("程序结束调用")
}
})
}
public static void main(String[] args) {
new TestShutDownHook()
for (int i = 0i <1000i++) { // 在这里增添您需要处理代码 }
System.out.println(i)
}
}
}
在上述程序中,我们可以看到通过在程序中增加Runtime.getRuntime().addShutdownHook(new Thread()) 事件监听,捕获系统退出消息到来,然后,执行我们所需要完成工作,从而使我们的程序更健壮!
望采纳,谢谢。
在Java应用中,可以使用动态探针来收集运行时的统计数据,以此来帮助优化性能。想要实现动态探针的加载和关闭可以通过命令行参数来实现。具体地,可以使用-javaagent选项和指定的动态探针jar包路径来加载探针,在程序结束时,调用钩子方法关闭探针。在代码中,可以使用Runtime类的addShutdownHook方法注册一个优雅停机的钩子,这里可以先定义一个实现了Runnable接口的对象,当JVM需要或必须退出时将自动调用它的run()方法。在run方法中,释放相关资源和关闭动态探针,以确保应用正常退出。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)