Java 可执行jar运行非常慢

Java 可执行jar运行非常慢,java,performance,windows-vista,jar,executable-jar,Java,Performance,Windows Vista,Jar,Executable Jar,我已经完成了几个项目,并将它们打包到jar文件中,但我注意到我的jar文件运行速度比IDE慢得多 我使用Eclipse编译和运行我的程序。在Eclipse中,我让一切都正常工作。当我将我的项目打包成一个可运行的Jar并通过双击执行它时,一切仍然正常。但是当我有动画时,程序运行得非常慢。在Eclipse中,我现在得到的不是每秒30帧,而是每秒2帧。这部动画非常滞后 有趣的是,当我从命令提示符(java-Jar MyCode.Jar)运行同一个Jar时,延迟消失了,程序正常工作 我目前不知道是什么导

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

我使用Eclipse编译和运行我的程序。在Eclipse中,我让一切都正常工作。当我将我的项目打包成一个可运行的Jar并通过双击执行它时,一切仍然正常。但是当我有动画时,程序运行得非常慢。在Eclipse中,我现在得到的不是每秒30帧,而是每秒2帧。这部动画非常滞后

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

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

塔克斯

解决方案:
我的计算机上有几个不同版本的Java,但使用的版本不正确。

可能是您将双击与某个“坏”JVM版本相关联

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

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


我希望这会有所帮助。

Windows附带的java.exe版本已经非常过时。
通过改变.jar扩展与最近的JVM的关联,你会看到很多改进。

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

很明显,微软已经阻碍了你的JVM!我闻到了(另一种)反信任的味道……我通常有一个调试开关,允许我在启动时转储整个系统。getProperties()(排序!)。这对解决这些问题很有帮助。