为什么我们在启动jvm时指定最小和最大堆内存

时间:2012-09-01 14:53:18

标签: java linux memory process jvm

  

可能重复:
  Why does the (Sun) JVM have a fixed upper limit for memory usage (-Xmx)?

JVM应该像任何其他进程一样,在正常的进程中,我们没有指定可用的最大内存,并且对于32位操作系统而言,它被限制为4GB,依此类推。

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

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

1 个答案:

答案 0 :(得分:0)

JVM可用于沙盒化进程。需要限制内存以获得有效的沙箱(以确保它不占用所有内存 - 包括操作系统所需的内存)。

通过这种方式,运行Java应用程序“更安全”,因为它不太可能搞砸你的计算机。