Java 与eclipse项目相比,Runnable jar运行太慢

Java 与eclipse项目相比,Runnable jar运行太慢,java,eclipse,jar,runnable,Java,Eclipse,Jar,Runnable,我从eclipse项目中提取了一个jar文件,但它运行得太慢了。完成eclipse项目几乎需要20分钟,而eclipse项目只需要几秒钟。 我导出了带有库处理的runnable jar,其中包含所有三种不同的选择。我还导出了带有所有库处理选项的jar文件。我还使用以下命令运行jar文件: java -Xmx2048m -Xms1024m -jar "finalJar.jar" 我已经删除了所有System.out.println,除了最后一个给我答案的。 要导出一个几乎与原始项目一样快的jar

我从eclipse项目中提取了一个jar文件,但它运行得太慢了。完成eclipse项目几乎需要20分钟,而eclipse项目只需要几秒钟。 我导出了带有库处理的runnable jar,其中包含所有三种不同的选择。我还导出了带有所有库处理选项的jar文件。我还使用以下命令运行jar文件:

java -Xmx2048m -Xms1024m -jar "finalJar.jar"
我已经删除了所有System.out.println,除了最后一个给我答案的。
要导出一个几乎与原始项目一样快的jar,我可以做些什么?或者用另一种方式运行它以加快速度?因为时差太大了,我不明白为什么。

我发现了这个问题,我希望它能帮助其他人。首先,如果使用选项“将所需库提取到生成的文件中”导出可运行的jar文件,速度会更快 第二个最大的问题是我使用了如下输入参数:

String inputArgument = args[0];
然后我在代码中的某个地方使用了输入参数。所以我删除了它,并在代码中需要输入参数的地方使用args[0]。我不确定这是否是最好的做法,但它对我很有效,而且在时间上有很大的不同。

使用“将所需库提取到生成的文件”选项对我帮助很大,现在速度更快了


“将所需库打包到生成的JAR中”选项将您用作JAR文件的库复制到您自己的JAR文件中,当您运行应用程序时,JVM需要打开它(或者甚至提取,如果压缩了的话)。

我不明白为什么直接引用args[0]会提高速度。为什么会这样?难以置信,但这是真的!。我也遇到了同样的问题,多亏了这个答案,我才得以解决。你能解释一下为什么这样做,以及这样做有什么帮助吗?