Java虚拟堆空间

时间:2012-08-10 11:16:02

标签: java memory heap virtual-memory

我的应用程序有一个生成图像(jpg)的功能,它使用了大量的堆空间(主机服务器上允许更多)。他们是否可以使用更少的堆内存。我的意思是,就像我们的计算机在RAM已满时使用虚拟内存一样。他们以任何方式将java用作外部内存作为虚拟堆空间吗?

2 个答案:

答案 0 :(得分:4)

从技术上讲,没有。这取决于操作系统(查看Michael Wiles的回答)。

一般来说,是的:一旦你生成一个JPG并且它不再立即,就把它写入磁盘并销毁代表它的对象(保存它的数据)。这个速度较慢,但​​使用的内存较少。

答案 1 :(得分:1)

只需使用-Xmx4g或其他东西运行java应用程序。这将允许java vm使用4演出的ram,无论系统有多少ram。当Java VM请求的内存多于RAM可用时,主机操作系统将提供内存作为虚拟内存。