在java 虚拟机中有这样两个参数
1:-XX:NewRatio:表示年轻代(年轻代包括:Eden和两个Surivor)与年老代(年老代不包括持久代)的比值
如果我们设置-XX:NewRatio=4 那么表示年轻代:年老代=1:4 也就是说:新生代是年老代的四分之一;
而不是年轻代:年老代=4:1
2:-XX:SurvivorRatio:表示年轻代中,Survivor与Eden的比值
如果我们设置:-XX:SurivivorRatio=3,那么Survivor:Eden=1:3 也就是说:Survivor是Eden的三分之一;
那么在整个年轻代中,Surivivor占多少比例呢?答案是:占五分之二
当我们设置参数-Xmn500m(表示:设置年轻代为500m)时,我们知道年轻代中有两个Survivor和Eden
Survivor:Eden=1:3,所以,Surivivor占年轻代的2/5,Eden占3/5。
Survivor=500 * 2/5=200m
Eden=500 * 3/5=300m