即使在成功执行控制后没有回复提示的可能原因是什么?

时间:2010-12-17 05:48:08

标签: java

我在命令提示符下运行Java程序 正常的过程是在成功执行程序后返回提示..成功执行程序后不会回复提示的可能原因是什么

为什么在执行后不会回来提示

alt text

通常它会回来,但有时它不会......

3 个答案:

答案 0 :(得分:2)

这听起来像是竞争条件。应用程序关闭序列中的某些内容是非确定性的,它可以工作或不起作用,具体取决于各种平台特定(可能是外部)因素。可能没有必要弄清楚这些因素是什么(或可能是),因为它无法帮助您解决问题。

  

唯一区别在于RAM硬盘容量较慢..可能的原因吗?

这些可能是因素,但它们不是问题的原因。因此,请专注于找出使您的应用程序不确定的原因。

正如其他人所说,没有更多信息(及相关代码),我们只能猜测。

当应用程序无法关闭时,让它为您提供一个线程转储。或者在连接到调试器时尝试将其关闭。这些可能会让你得到一些关于出错的线索。

最后,蛮力解决方案只是让main方法(或其他)调用System.exit(0)。但是要注意文件没有刷新的可能性,等等。如果你这样做的话。

答案 1 :(得分:1)

因为它没有完成。如果它有时发生,有时不发生,我的直觉是你有某种竞争条件。如果已经或者没有采取其他行动,可能你的一个清理步骤就会挂起。

如果没有源代码,这将很难调试。

答案 2 :(得分:0)

可能还有一个活动线程正在运行,但它不在“守护进程”模式下。例如,如果您有一个Swing GUI并且所有帧都已关闭,则Event Dispatch线程仍然处于活动状态,因此JVM将不会退出。