深入理解Java虚拟机之垃圾收集算法(3)
深入理解Java虚拟机之垃圾收集算法(3)
今天说一下垃圾收集算法中的最后一个,“标记-整理算法”,之前说过,“暂停-复制算法”会导致部分空间
的浪费,而且需要有额外的空间进行担保,确保每次暂停复制的时候再另一块空间超出的时候有额外的空间存储,
所以在新生代会采用“暂停-复制算法”,但是在老年代会采用“标记-整理”算法。
“标记整理”算法和“标记-清除”算法比较像,但是在标记完对象之后,不会对可回收的对象进行直接的回收,
而是让所有存活的对象整体的移向一端,然后将存活对象边界另一端的所有空间全部清理掉,示意图如下: