2回复
1年前
JVM 新生代Eden+S0的存活对象>S1的空间会怎么样啊?
Eden+S0可分配新生对象,对Eden+S0进行垃圾收集,存活对象复制到S1。清理Eden+S0。一次新生代GC结束,然后循环往复Eden+S1->S0,存活对象达到阀值15到老年代, 但是如果Eden+S0存活对象>S1的空间会怎么样啊?会直接将对象放到老年代吗?
2870 阅读
Eden+S0可分配新生对象,对Eden+S0进行垃圾收集,存活对象复制到S1。清理Eden+S0。一次新生代GC结束,然后循环往复Eden+S1->S0,存活对象达到阀值15到老年代, 但是如果Eden+S0存活对象>S1的空间会怎么样啊?会直接将对象放到老年代吗?
会调整晋升年龄,比如调整到10岁,让所有大于十岁的都进入老年代。如果还是特别大,放不下的 都会进入老年代。
老年代还放不下的,会触发fullgc。