可能重复:
Why does the (Sun) JVM have a fixed upper limit for memory usage (-Xmx)?
JVM应该像任何其他进程一样,在正常的进程中,我们没有指定可用的最大内存,并且对于32位操作系统而言,它被限制为4GB,依此类推。
那么为什么在JVM中它并不那么简单,JVM可以根据需要将最大内存用于堆内存以及本机内存。
只是猜测,如果JVM预先知道可用的最大堆内存,它是否会使事情更有效率?它是如何工作的?
答案 0 :(得分:0)
JVM可用于沙盒化进程。需要限制内存以获得有效的沙箱(以确保它不占用所有内存 - 包括操作系统所需的内存)。
通过这种方式,运行Java应用程序“更安全”,因为它不太可能搞砸你的计算机。