1

我的应用程序具有生成 images(jpg) 的功能,它使用大量堆空间(主机服务器上允许的更多空间)。他们有什么办法可以让它使用更少的堆内存。我的意思是,就像我们的计算机在 RAM 已满时使用虚拟内存一样。他们有没有办法让java使用外部内存作为虚拟堆空间?

4

2 回答 2

4

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

从广义上讲,是的:一旦您生成 JPG 并且不再立即使用它,请将其写入磁盘并销毁代表它的对象(保存其数据)。这会更慢,但会使用更少的 RAM。

于 2012-08-10T11:20:52.540 回答
1

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

于 2012-08-10T11:20:40.757 回答