4

可能重复:
为什么(Sun)JVM 有一个固定的内存使用上限(-Xmx)?

JVM 应该像任何其他进程一样,在正常进程中,我们没有指定可用的最大内存,并且它受到 32 位操作系统的 4GB 等限制。

那么为什么在 JVM 中它不是那么简单,并且 JVM 可以根据需要将最大内存用于堆内存和本机内存。

只是一个猜测,如果 JVM 预先知道可用的最大堆内存,它是否会让事情变得更高效?它是如何工作的?

4

1 回答 1

0

JVM 可用于对进程进行沙箱处理。需要限制有效沙箱的内存(以确保它不会占用所有内存 - 包括操作系统所需的内存)。

这样,运行 Java 应用程序就“更安全”了,因为它不太可能搞砸您的计算机。

于 2012-09-01T15:00:51.200 回答