【发布时间】:2014-08-24 10:14:48
【问题描述】:
当我启动 Eclipse 时,它会启动一个 Java 实例,但是当我运行应用程序时,它会再次启动另一个 Java 实例。为什么它没有在之前生成的实例上运行程序。
在我开始日食之后
在 eclipse 中运行任何程序后
如果有人知道,请帮忙...
【问题讨论】:
当我启动 Eclipse 时,它会启动一个 Java 实例,但是当我运行应用程序时,它会再次启动另一个 Java 实例。为什么它没有在之前生成的实例上运行程序。
在我开始日食之后
在 eclipse 中运行任何程序后
如果有人知道,请帮忙...
【问题讨论】:
每个运行的 Java 程序都需要自己的 Java 虚拟机实例。因此,如果您的程序的两个实例同时运行,您应该会看到两个 Java 进程。
如果您在第二次运行之前“关闭”了您的第一个程序,而第一个 Java 进程仍在运行,那仅意味着您的程序实际上并未结束。这很可能是由于您的代码中的错误,例如您没有确保关闭主 GUI 窗口会结束 Java 进程。
更一般地说,您已经导致一些长时间运行的线程启动并让它们继续运行(Swing 的事件调度线程就是一个这样的例子)。
【讨论】:
如果您在主窗口中使用 JFrame 等摆动组件,则必须启用让 [X] 关闭按钮退出应用程序的功能。这是通过:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
【讨论】: