JVM参数

一、JVM默认运行参数

–支持JVM运行的重要配置,根据操作系统/物理硬件不同而不同–使用

-java -XX:+PrintFlagsFinal -version | findstr HeapSizel 显示VM的参数

JVM参数

二、程序启动的两类参数

–程序参数:程序需要,存储在main函数的形参数组中

–虚拟机参数:更改默认配置,用以指导进程运行

JVM参数

三、堆(Heap)

–共享,内存大户,存储所有的对象和数组

–-Xms初始堆值,-Xmx最大堆值

JVM参数

需要加大内存 -Xmx40M

四、JVM 栈(JVM Stack)

–线程私有,存储类中每个方法的内容

–-Xss最大栈值

JVM参数JVM参数JVM参数

五、方法区(Method Area)

–存储类信息、常量池等

–1.7及以前,永久区(Perm),

-XX:PermSize,-XX:MaxPermSize–1.8及以后,元数据区,

-XX:MetaspaceSize,-XX:MaxMetaspaceSize

JVM参数

加载类的个数对程序性能的影响: 加载类越多,方法区承受的压力越多,占的内存越多