正如我们所知,我们可以在 eclipse 的 window->preferences->java->installed jres->edit->default vm arguments
中设置 -Xmx1024M
。但是,当我将这个项目打包成一个可运行的 jar 文件时,如何通过 — -Xmx1024M
运行 jar 时设置 java -jar A.jar
?
非常感谢!
原文由 Judking 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如我们所知,我们可以在 eclipse 的 window->preferences->java->installed jres->edit->default vm arguments
中设置 -Xmx1024M
。但是,当我将这个项目打包成一个可运行的 jar 文件时,如何通过 — -Xmx1024M
运行 jar 时设置 java -jar A.jar
?
非常感谢!
原文由 Judking 发布,翻译遵循 CC BY-SA 4.0 许可协议
不幸的是,现有的答案在一个关键点上是错误的。
-Xmx
必须传递给Java运行时环境,而不是传递给执行的jar。
错误的:
java -jar JavaApplication.jar -Xmx1024m
正确的:
java -Xmx1024m -jar JavaApplication.jar
更具体地说,需要按如下方式使用 java 启动器:
java [选项] -jar file.jar [参数]
[options]
传递给Java运行环境[arguments]
传递给主函数-Xmx
参数属于(非标准)JVM 选项,并且–作为一个选项–需要在 -jar 之前(或至少在 file.jar 之前)列出。 JVM 将无法识别 -Xmx
其他答案中建议的传递给 main 函数的参数。
原文由 Philipp Merkle 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
尝试
java -Xmx1024m
文件名。我在 StackOverflow 上找到了这个 Java 选项 -Xmx 代表什么? 并在我启动 Netbeans 时使用它。
像这样使用它
info:
-Xmxn
指定内存分配池的最大大小(以字节为单位)。该值必须是大于 2MB 的 1024 的倍数。附加字母 k 或 K 以指示千字节,或附加字母 m 或 M 以指示兆字节。默认值为 64MB。此值的上限在 Solaris 7 和 Solaris 8 SPARC 平台上约为 4000m,在 Solaris 2.6 和 x86 平台上约为 2000m,减去开销量。