在什么情况下javaw.exe在system.exit(0)之后仍然保留在内存中。

时间:2015-03-25 04:49:17

标签: java

我有使用System.exit(0)退出的代码,但javaw.exe仍然在任务管理器中运行。代码块中没有例外,我们到达System.exit(0)的代码行。

任何机构都可以告诉它在什么条件下可能无法杀死javaw.exe进程

1 个答案:

答案 0 :(得分:0)

通常不应该有更多的javaw.exe。 Amything else表示java应用程序没有完全终止。

请注意,System.exit会导致所有已注册的关闭挂钩被执行。您可以使用Runtime.halt(省略执行关闭挂钩)来检查关闭挂钩是否有问题。

如果任何关闭没有问题,应该有一些线程。也许使用Java Mission Control或类似的东西深入挖掘这个。您还可以强制Java编写线程转储。

在极少数情况下,您利用了JDK错误,您会发现一些名称类似于hs_error的文件(可能在您的家庭/用户个人资料目录中)。