作为dist构建,Java程序比从Netbeans运行时慢

作为dist构建,Java程序比从Netbeans运行时慢,java,performance,netbeans,Java,Performance,Netbeans,因此,我制作了一个简洁的物理模拟,在某些设置下运行时,通过Netbeans run-command以34 fps左右的速度运行。然后我单击clean and build并从dist文件夹打开程序,它以10 fps左右的速度运行,使用相同的设置 这可能与Java设置有关吗?我没有在Netbeans中进行任何特殊设置,但我不确定如何检查安装的JRE上的设置,它们在默认情况下是否与Netbeans默认使用的有所不同?我怀疑它运行的是不同的JDK,但您可以在Tools->Java平台上检查Netbean

因此,我制作了一个简洁的物理模拟,在某些设置下运行时,通过Netbeans run-command以34 fps左右的速度运行。然后我单击clean and build并从dist文件夹打开程序,它以10 fps左右的速度运行,使用相同的设置


这可能与Java设置有关吗?我没有在Netbeans中进行任何特殊设置,但我不确定如何检查安装的JRE上的设置,它们在默认情况下是否与Netbeans默认使用的有所不同?

我怀疑它运行的是不同的JDK,但您可以在Tools->Java平台上检查Netbeans安装所使用的JDK。要检查分布式版本使用的Java版本,请查看Java_主页和Path环境变量

分布式版本和开发环境之间的一个主要区别可能是库。检查CLASSPATH环境变量,并比较分发环境和开发环境之间的实际文件,以查看大小和日期是否匹配。我不完全确定如何获得Netbeans所使用的类路径,但我可以建议它基于所包含的库使用一些特殊的魔法。还要注意,所包含的库的顺序可能会有所不同


您使用什么软件来部署您的项目?

问题解决了,这是由于过时的Java。我的32位Java已经更新了——默认下载在oracle.com上,但程序使用的是64位版本,实际上已经过时了。因此,安装最新的64位版本的Java解决了这个问题。

可能是内存设置-Xmx,也可能不是使用同一版本的JVM。另外,您是否使用优化或调试标志进行编译?如何测量fps?您到底是如何执行编译后的应用程序的?Dist构建通常更快。您的问题目前没有足够的信息,我们无法帮助您。据我们所知,Netbeans上的类路径中可能有一个本机库,它可以帮助您更快地运行代码,而dist构建没有正确地打包本机库,并依赖跨平台代码来运行模拟。关于这个项目,你还能告诉我们些什么吗?@先生,我担心,鉴于问题中缺乏信息,情况不会好转。是的,我只是提供了一些建议,让他看看哪里。一共有四个潜在的答案被包装在一个里面。这很可能是DLL地狱的一个完美例子,其中一个库已经过时或诸如此类。我所有的建议都值得一看。你能想到开发和分销之间还有什么不同的因素吗。JDK版本中的差异。2.类路径的差异,包括所列文件的顺序;3.参考图书馆的差异。4.有些与3相关,通常部署脚本ant、maven、izpack将修改包含哪些文件以及从何处获取文件。