概述
**
JVM的参数
-Xms:设置初始堆大小
-Xmx:设置最大堆大小
-Xss:设置每个线程堆栈大小
-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年老代和年轻代的比值。
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。默认情况下年轻代按照8:2的比例来分配
-XX:MaxPermSize=n:-XXPermSize=n 设置持久代大小
-XX:MaxTenuringThreshold=20 设置对象复制次数
-XX:CMSInitiatingOccupancyFraction=80设置gc开始的阈值
-XX:+UseCMSInitiatingOccupancyOnly设置是否根据设定值开始gc若不加上面的参数只会起效一次后续自动调整
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集器
**
**
JVM的内存结构
JVM内存结构主要有三大块:堆内存、方法区和栈。
1.7之前有持久代1.8后用元数据空间替代(在本地内存里)
其中堆内存是JVM中最大的一块由年轻代和老年代组成,
而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半, 年龄大于或等于该年龄的对象就可以直接进入老年代。
方法区存储类信息、常量、静态变量等数据,线程共享
栈又分为java虚拟机栈和本地方法栈主要用于方法的执行。线程私有
**
最后
以上就是腼腆月亮为你收集整理的Java学习笔记(五)-JVM系列的全部内容,希望文章能够帮你解决Java学习笔记(五)-JVM系列所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复