JVM参数
一、JVM默认运行参数
–支持JVM运行的重要配置,根据操作系统/物理硬件不同而不同–使用
-java -XX:+PrintFlagsFinal -version | findstr HeapSizel 显示VM的参数
二、程序启动的两类参数
–程序参数:程序需要,存储在main函数的形参数组中
–虚拟机参数:更改默认配置,用以指导进程运行
三、堆(Heap)
–共享,内存大户,存储所有的对象和数组
–-Xms初始堆值,-Xmx最大堆值
需要加大内存 -Xmx40M
四、JVM 栈(JVM Stack)
–线程私有,存储类中每个方法的内容
–-Xss最大栈值
五、方法区(Method Area)
–存储类信息、常量池等
–1.7及以前,永久区(Perm),
-XX:PermSize,-XX:MaxPermSize–1.8及以后,元数据区,
-XX:MetaspaceSize,-XX:MaxMetaspaceSize
加载类的个数对程序性能的影响: 加载类越多,方法区承受的压力越多,占的内存越多