- 如何让GC优先去回收新生代呢?
-Xmn 新生代大小,一般设为整个堆的1/3到1/4左右
-XX:SurvivorRatio 设置新生代中eden区和from/to空间的比例关系n/1
public class JvmTest{
public static void main(String[] args) {
//-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
byte [] b = null;
for (int i = 0; i < 10; i++) {
b =new byte[1*1024*1024];
}
}
}
- -XX:SurvivorRatio=2参数表示的意思为: edn:s0 : s1 = 2:1:1
他们之间的大小比例,s0,s1是大小相等的,edn的大小是s0 + s1之和。 - -XX:NewRatio=2的意思为: new generation(新生代) : tenured generation(老年带)的比例为 1: 2
这样设置的目的是为了让gc优先去新生代回收内存.