- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是我的主要方法,它包含一个 shutdownhook:
public static void main(String args[]) {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
JOptionPane.showMessageDialog(null, "Shutdown hook");
}
});
/* Create and display the form */
java.awt.EventQueue.invokeLater(
new Runnable() {
@Override
public void run() {
Thread.setDefaultUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
MyFrame frame = new MyFrame();
frame.setVisible(true);
}
});
}
问题是 JOptionPane
根本没有出现。相反,框架关闭但应用程序本身仍在运行。附言。我不能使用 WindowClosing
事件,因为它不会在 Mac OS X 上的 Cmd+Q 命令上触发。
最佳答案
调度线程已经关闭,或者可能在您提交到队列执行之前关闭。
你需要找到另一种方法来捕获退出事件,shutdown hook 在那里,所以你可以在 VM 退出时进行清理,所以你真的不希望在调用它时在 UI 中占用更多资源.
关于java - 为什么这个 shutdownhook 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15546775/
据我所知,System.exit 会触发关闭钩子(Hook)(如果注册了任何钩子(Hook)),因此关闭钩子(Hook)线程正在等待任何其他线程加入如果其他线程调用 System.exit() 我认为
我有一个应用程序,它的主要方法生成一百个线程(假设我们模拟一百个帐户)。我正在试验它,我希望它在被 Control-C 中断时只打印终止。 我读到您可以使用 ShutDownHooks 来做到这一点,
我发现要显示 JOptionPane 消息对话框,我需要 shutdownHooks 许可。它有什么作用?向第三方代码授予此权限可能存在哪些风险? 最佳答案 关闭 Hook 是虚拟机退出前(所有非守护
我遇到了这个异常: org.quartz.SchedulerException: SchedulerPlugin class not specified for plugin 'shutdownhoo
我需要从 ShutdownHook 调用该方法的非静态方法 removeLocksOnExit()。 该方法在 main 所在的同一个类中声明。 主要我有以下代码: //final Thread ma
假设 shutdownHook 为: class ShutdownHolder extends Thread { public void run() { Logger logg
我有一个 shutdownhook,它在进程终止时执行。然而,程序对 h2 数据库所做的更改不是持久的。只有在提交后让关闭线程等待一段时间,我才能在再次启动时看到数据库中的更改。 Runtime.ge
如果我有一个 Java 程序可以由于各种原因退出,例如: 因为设置为“关闭时退出”的主窗口已关闭 因为代码中有一些System.exit(0) 因为根本没有更多的窗口(并且没有设置为在关闭时退出)但是
这是我的主要方法,它包含一个 shutdownhook: public static void main(String args[]) { Runtime.getRuntime().addSh
我正在使用带有常规配置的 logback 1.1.10。我最近发现了shutdownHook preference但我还没有找到使用 groovy 配置启用它的方法。这可能吗?还是缺失的功能? 最佳答
有什么办法可以在关闭 Hook 中显示 joptionpanei.s 我需要在我的 shutdownhook 事件中显示一个确认对话框 最佳答案 如果有,它不会帮助你。 关闭 Hook 作为 JVM
我有以下 ShutdownHook 来检测应用程序何时退出: Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
我试图提供一个非常简单的“你想保存这个文档吗?”关闭我的应用程序时的对话框。 我使用了 WindowAdapter 来做到这一点。如果使用任何 GUI 操作关闭应用程序(单击 CLOSE 按钮、从任务
我们如何在 Web 应用程序中注册Shutdown hook? 在 web.xml 或 applicationContext.xml 中注册它有什么好处吗? 我知道如果我们使用带有主类的应用程序很简单
我正在使用 logback 中的元素; jmxConfigurator 声明如下: Thus, unless your application is a standalone Java applic
拥有 Spring Boot 应用程序,在调用 Shutdown hook @Predestroy 方法时,会调用应用程序关闭。但在打印日志后,控制台和文件、sys out 行中均不打印日志。看起来,
在下面的代码片段中,永远不会调用 finalize() 方法。但是当我在 addShutdownHook 中将 finalize() 替换为 close() 时。 finalize() 方法将被调用。
我正在 Tomcat 中使用 Jax-ws 发布 Web 服务 @WebService() public class ChatService ...followed by a constructor
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: When Shutdown Hooks Break Bad 想知道在JVM崩溃的场景下是否保证shutdown
我有一些 Java 代码来创建一个关闭钩子(Hook),以便在客户端按下 ctrl+C 时干净地退出: private static void shutdownHandler(Thread mainT
我是一名优秀的程序员,十分优秀!