有什么区别
-Xms4096m
-Xmx2048M
-XX:MaxPermSize=712M
我对这两个 -Xmx2048M
和 -XX:MaxPermSize=712M
感到困惑
如果我使用 -Xmx2048M
或 -Xmx2048m
最佳答案
Java 对象驻留在称为堆 的区域,而类对象和方法对象等元数据驻留在永久代 或 Perm Gen 地区。永久代不是堆的一部分。
堆是在 JVM 启动时创建的,并且在应用程序运行时可能会增加或减少大小。当堆变满时,将收集垃圾。在垃圾收集期间,不再使用的对象会被清除,从而为新对象腾出空间。
-Xmssize 指定初始堆大小。
-Xmxsize 指定最大堆大小。
-XX:MaxPermSize=size 设置最大永久代空间大小。此选项在 JDK 8 中已弃用,并由 -XX:MaxMetaspaceSize 选项取代。
大小以字节表示。附加字母 k
或 K
表示千字节,m
或 M
表示兆字节,g
或 G
表示千兆字节。
引用资料:
How is the java memory pool divided?
Java (JVM) Memory Model – Memory Management in Java
关于tomcat - Xms与Xmx和XX的区别 :MaxPermSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38330176/