我有一个 JFrame
和一个 JTabbedPane
JTabbedPane
有 JPanel
,每个 JPanel
都有一个 Applet
。
如果我加载小程序,然后关闭它,CPU 使用率会下降,但 RAM 使用率仍然很高。因此,为了让我正确释放 RAM,每个 JPanel
/Applet
必须拥有自己可以终止的 JVM。 Applet
的代码不是我的,但它就是这样制作的,简单地破坏它是行不通的。
所以我要问的是,当我添加一个 JPanel
时,如何将一个新的 JVM 附加到每个 JPanel
上?
最佳答案
为了实现这一点,您需要有一个包装应用程序,能够在每次您想要打开 JPanel/Applet 内容之一时启动 JVM 的新实例(派生一个新进程)。您可以通过调用 Runtime.exec() 并调用 JVM 的新实例来完成此操作,但老实说,所有这些对我来说都有点味道。 JVM 确实不是为此而设计的,我认为更有可能的是您在某个地方没有正确处理内存泄漏。
关于java - 一个程序中的多个 JVM 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17351767/