Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能重复: 为什么(Sun)JVM 有一个固定的内存使用上限(-Xmx)?
JVM 应该像任何其他进程一样,在正常进程中,我们没有指定可用的最大内存,并且它受到 32 位操作系统的 4GB 等限制。
那么为什么在 JVM 中它不是那么简单,并且 JVM 可以根据需要将最大内存用于堆内存和本机内存。
只是一个猜测,如果 JVM 预先知道可用的最大堆内存,它是否会让事情变得更高效?它是如何工作的?
JVM 可用于对进程进行沙箱处理。需要限制有效沙箱的内存(以确保它不会占用所有内存 - 包括操作系统所需的内存)。
这样,运行 Java 应用程序就“更安全”了,因为它不太可能搞砸您的计算机。