在Oracle的Java虚拟机的垃圾收集器中,“幸存者1”和“幸存者2”分别扮演什么角色?
物体是否总是像这样移动:伊甸园 → 幸存者 1 → 幸存者 2
或者物体可以直接从伊甸园跳转到幸存者2吗?
“幸存者 3” 是否没有意义,或者还可以但被认为两个就足够了?
答案1
Survivor1 和 Survivor2 交替使用。Minor GC 扫描一个 Survivor 空间中的所有内容,并将仍需要的所有内容移至另一个 Survivor 空间,因此恰好需要两个 Survivor。
在Oracle的Java虚拟机的垃圾收集器中,“幸存者1”和“幸存者2”分别扮演什么角色?
物体是否总是像这样移动:伊甸园 → 幸存者 1 → 幸存者 2
或者物体可以直接从伊甸园跳转到幸存者2吗?
“幸存者 3” 是否没有意义,或者还可以但被认为两个就足够了?
Survivor1 和 Survivor2 交替使用。Minor GC 扫描一个 Survivor 空间中的所有内容,并将仍需要的所有内容移至另一个 Survivor 空间,因此恰好需要两个 Survivor。