我能为从JAR文件运行的Java设置最大堆大小吗?

15 浏览
0 Comments

我能为从JAR文件运行的Java设置最大堆大小吗?

我正在启动一个Java的jar文件,该文件通常需要超过默认的64MB最大堆大小。对于这个应用程序来说,256MB的堆大小已经足够了。是否有办法在启动jar文件时指定(可能是在清单中)始终使用256MB的最大堆大小?(如果需要,下面是更具体的细节。)


这是我用Java编写的一个命令行应用程序,用于进行一些图像处理。在高分辨率的图像(大约1200万像素及以上,这并不罕见)上,我会遇到OutOfMemoryError错误。

目前,我是通过一个jar文件启动该应用程序,即:

java -jar MyApp.jar 参数...

我可以通过在命令行中指定256MB的最大堆大小来避免OutOfMemoryError错误,即:

java -Xmx256m -jar MyApp.jar 参数...

然而,我不想每次都指定这个,因为我知道即使对于高分辨率的图像,256MB已经足够了。我希望将这个信息保存在jar文件中。这是否可能?

0