一、原理

在整理压缩阶段,不再对标记的对象回收,而是通过所有存活对象都向一端移动。可以看到,标记的存活对象将会被整理,按照内存地址依次排列。如此一来,当我们需要给新对象分配内存时,JVM只需要持有一个内存的起始地址即可,这比维护一个空闲列表显然少了许多开销。
标记整理算法不仅可以弥补标记清除算法中,内存区域分散的缺点,也消除了复制算法当中,内存减半的高额代价。
二、劣势
标记整理算法唯一的缺点就是效率不高,不仅要标记所有存活的对象,还要整理所有存活对象的引用地址。从效率上来说,标记整理算法的效率要低于复制算法。
标记整理算法:内存管理的优势与劣势,
本文讨论了标记整理算法在Java虚拟机内存管理中的应用,强调其优点如消除内存区域分散和减小内存分配开销,同时也指出其效率低于复制算法的缺点。
881

被折叠的 条评论
为什么被折叠?



