- young gc是不是针对所有的新生代region进行回收?我的理解是young gc会回收全部的新生代Region,并调整Eden区数量来满足软实时性要求;
- Oracle文档中指出在并发标记期间还可能进行额外的young gc,这不会破坏并发标记期间的内存布局么?比如现在正在进行并发标记,对于某个Eden Region A, 还未完成标记,此时若是发生young gc,A会被如何处理?
- 以及这位仁兄提出的关于Mixed GC的执行次数问题, mixed gc如何利用concurrent marking phase获得的CSet,每次仅回收一部分CSet中的老年代?下次mixed gc再回收一部分直到满足mixed gc退出条件?
关于第三点,mixed gc次数问题,查阅了一些文档(原文地址), 我认为问题中对 3 的理解应当是对的,即mixed gc 每次仅针对标记阶段获得的CSet一部分老年代进行回收,直到满足退出条件: