为什么在启动JVM时需要指定最小和最大堆内存?

4

可能是重复问题:
为什么(Sun)JVM有一个固定的最大内存使用限制(-Xmx)?

JVM应该像任何其他进程一样,而在正常的进程中,我们不指定可用于它的最大内存,而是受32位操作系统等的限制,例如4GB。

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

只是猜测,如果JVM事先知道可用于其的最大堆内存,是否会使事情更加高效?它是如何工作的?

1个回答

0

JVM可以用来沙盒进程。为了确保不占用操作系统所需的所有内存(包括内存),需要限制内存以实现有效的沙盒。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接