首先要明确的是“新生代使用的是复制算法”!
复制算法与标记-整理算法都有标记的过程,标记的过程都是采用可达性分析算法,所以跳过这个步骤接着分析。复制算法接下来是把标记存活的对象复制到另一块内存区域中,标记-整理算法是将标记的对象整理到一端,这个时候需要注意,并没有进行内存空间清理,针对于新生代需要清理的对象数量十分巨大,所以在将存活的对象插入到待清理对象之前,需要大量移动操作,时间复杂度很高;反观复制算法,不需要移动待回收对象的操作,直接将存活对象复制到另一块空闲内存区域中,大大减小了时间复杂度,所以分析到这里新生代不使用“标记-整理算法”的原因就显而易见了!
新生代为什么不使用“标记-整理算法”?
最新推荐文章于 2023-07-22 10:12:56 发布