【问题标题】:Executable Jars running very slowly可执行的罐子运行非常缓慢
【发布时间】:2010-10-10 11:20:08
【问题描述】:

我做了几个项目并将它们打包成 jar 文件,但我注意到我的 jar 文件运行速度比在我的 IDE 中慢得多。

我使用 Eclipse 来编译和运行我的程序。在 Eclipse 中,我一切正常。当我将我的项目打包为一个可运行的 Jar 并通过双击执行它时,一切仍然有效。但是当我有动画时,程序运行非常很慢。在 Eclipse 中,我现在获得了大约 2 帧,而不是 Eclipse 中的每秒 30 帧。动画很拖沓。

有趣的是,当我从命令提示符 (java -jar MyCode.jar) 运行同一个 Jar 时,延迟消失了,我的程序正常运行。

我目前不知道是什么导致了这个问题。我的电脑运行的是 Windows Vista。我正在使用最新版本的 JRE 和 JDK。我的程序包含一个动画,没什么花哨的。

感谢

解决办法: 我的计算机上有几个不同版本的 Java,并且使用了不正确的版本。

【问题讨论】:

  • 很明显,微软阻碍了你的 JVM!我闻到了(另一种)反垄断的味道……
  • 我通常有一个调试开关,允许我在启动时转储完整的 System.getProperties()(已排序!)。对这些问题有很大帮助。

标签: java performance windows-vista jar executable-jar


【解决方案1】:

Windows 自带的 java.exe 版本已经过时了。 通过将 .jar 扩展名的关联更改为更新的 JVM,您应该会看到很多改进。

【讨论】:

    【解决方案2】:

    您还可以考虑是否有任何正在运行的防病毒软件影响性能。一些软件将 .jar 文件视为 .zip 档案,并进行相应的扫描。他们的 shell 集成也可以解释双击和命令行之间的区别。

    【讨论】:

      【解决方案3】:

      您可能已将双击与某些“坏”的 JVM 版本相关联。

      我要做的是使用来自 SysInternals 的processxp 来查看您的应用正在使用什么解释器。可能只是将其更改为与命令行和eclipse相同。

      检查两者是否使用相同的 JVM(ProcessXP 中有一个列名命令行,比较该值)

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2016-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多