2

我有一个可以作为 JFrame 或 applet 运行的 java 应用程序。

在浏览器中启动小程序会在浏览器中添加一个新选项卡,还会显示 Java 控制台。在我关闭它们之后,我希望能够重复此操作并看到 Java 控制台重新出现。它不会重新出现,但是我可以在浏览器中重新加载我的小程序。

每次我必须杀死java火狐启动的这个僵尸解释器进程。

/usr/lib/jvm/java-6-sun-1.6.0.26/jre/bin/java -D__jvm_launched=22906841394 -Xbootclasspath/a:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/deploy.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/javaws.jar:/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/plugin.jar -Djava.class.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/classes -Dsun.awt.warmup=true sun.plugin2.main.client.PluginMain write_pipe_name=/tmp/.com.sun.deploy.net.socket.1444.1704699298565364673.AF_UNIX

终止进程后,Java 控制台将重新出现。还尝试了使用铬的重现步骤,除了僵尸进程的命令行不同之外,结果相同。

注意事项:

  • 当我关闭包含小程序的浏览器选项卡时,小程序处于正常状态,等待用户在 UI 上执行操作。
  • 在 applet 重新启动之间完全关闭浏览器也可以解决问题,因为该java进程是浏览器进程的子进程。

有人有解释或解决方法吗?谢谢!

4

2 回答 2

2

这不是一个僵尸,我想你的意思是暗示出了点问题;这正是 Java 插件一直以来的工作方式。第一次需要它时,它会启动,这可能涉及打开控制台,具体取决于您的设置。然后它将继续运行,直到浏览器关闭。换句话说,这不是一个错误,而是一个特性。

一些浏览器包含一个用于打开 Java 控制台的菜单项;您可以根据需要使用它重新打开它,而无需杀死或重新启动任何东西。

于 2012-01-02T01:39:57.770 回答
2

有人有解释或解决方法吗?

要解决此问题,请在小程序查看器中进行测试。(控制台与生产无关,除非设计有很大缺陷。)

至于解释,浏览器将在/如果感觉喜欢时结束 JRE/控制台。开发人员或小程序不能覆盖它。我注意到 FF 通常会在离开小程序页面后让 JRE 运行 30-60 秒(根据控制台消失的时间来判断)。

于 2012-01-02T01:41:35.047 回答