我正在启动一个 java jar 文件,该文件通常需要超过默认的 64MB 最大堆大小。不过,256MB 的堆大小对于这个应用程序来说已经足够了。无论如何,是否要指定(也许在清单中?)在启动 jar 时始终使用 256MB 最大堆大小? (如果需要的话,下面有更具体的细节。)
这是我用 Java 编写的一个命令行应用程序,它可以进行一些图像处理。在高分辨率图像(大约 12 兆像素及以上,这并不罕见)上,我收到 OutOfMemoryError。
目前我正在从 jar 文件启动应用程序,即
java -jar MyApp.jar params...
我可以通过在命令行上指定 256MB 最大堆大小来避免 OutOfMemoryError,即:
java -Xmx256m -jar MyApp.jar params...
但是,我不想指定这一点,因为我知道即使对于高分辨率图像,256MB 也足够了。我想将该信息保存在 jar 文件中。那可能吗?
编写包含以下行的批处理或 shell 脚本。放入MyApp.jar所在的文件夹中。
java -Xmx256M -jar MyApp.jar
之后,始终打开此批处理/脚本文件以启动 JAR 文件。
虽然,这不会将虚拟内存大小的规范嵌入到 jar 文件本身中。但是,经常在命令行上编写相同的命令可以解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)