什么是它们之间的区别?
-Xms4096m
-Xmx2048M
-XX:MaxPermSize=712M
我对这两个参数-Xmx2048M和-XX:MaxPermSize=712M感到困惑
如果我使用-Xmx2048M
或-Xmx2048m
会发生什么?
什么是它们之间的区别?
-Xms4096m
-Xmx2048M
-XX:MaxPermSize=712M
我对这两个参数-Xmx2048M和-XX:MaxPermSize=712M感到困惑
如果我使用-Xmx2048M
或-Xmx2048m
会发生什么?
Java对象存储在称为堆(heap)的区域中,而类对象和方法对象等元数据存储在永久代(Permanent Generation)或Perm Gen区域中。永久代不是堆的一部分。
堆在JVM启动时创建,并且在应用程序运行时可以增加或减小其大小。当堆变满时,垃圾将被收集。在垃圾回收期间,不再使用的对象将被清除,从而为新对象腾出空间。
-Xmssize 指定初始堆大小。
-Xmxsize 指定最大堆大小。
-XX:MaxPermSize=size 设置最大永久代空间大小。这个选项已经在JDK 8中废弃,并由-XX:MaxMetaspaceSize选项取代。
大小以字节表示。附加字母k
或K
表示千字节,m
或M
表示兆字节,g
或G
表示千兆字节。