如何在java中增加堆大小?

时间:2015-03-10 09:55:58

标签: java

我创建了包含dicom图像的自动运行cd。 它持续10-15分钟。在屏幕上显示dicomviewer。 所以,我想在运行时以编程方式增加jvm堆大小(不是从命令行) 假设我启动应用程序时必须为我的应用程序分配500mb。 可能吗? 我正在使用Windows平台。

3 个答案:

答案 0 :(得分:1)

从字面上看,没有。最大堆大小设置为JVM启动时间,无法增加。

实际上,您可以将最大堆大小设置为平台允许的最大大小,并让JVM根据需要增加堆。这样做有明显的风险;即您的应用程序将使用所有内存并导致用户的计算机停止运行。但是这个风险隐含在你的问题中。

答案 1 :(得分:0)

您可以在Windows环境中采用的一种方法是安装启动应用程序的服务。通过这种方法,您可以使Windows服务指向一个包装文件,该文件调用所有relvant文件来启动您的应用程序。在这里你可以指定类似的东西

set JAVA_OPTS=-Xrs -Xms6G -Xmx6G -XX:MaxPermSize=384M 

您可以使用它来指定启动时的JVM内存设置。

有关参数的详情,请参阅http://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html

希望这有帮助,

V

答案 2 :(得分:0)

由于问题与图片显示的持续时间有关,并且知道您无法以编程方式更改堆大小,如何优化程序以加快图片的加载速度呢?

您可以使用多个线程或异步加载来加速显示。 您也可以在用户界面中使用分页。

您可以编辑用户界面的代码吗?