垃圾回收算法综述:标记-清除、与标记-.pdfVIP

  • 5
  • 0
  • 约1.74千字
  • 约 3页
  • 2026-04-07 发布于北京
  • 举报

垃圾回收算法综述:标记-清除、与标记-.pdf

有哪些垃圾回收算法?

1.标记-清除(Mark-Sweep)算法

分为标记和清除两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对

象。

它的主要不足有两个:

效率问题,标记和清除两个过程的效率都不高。

空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行

过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。

2.复制算法

为了解决效率问题,一种称为复制(Copying)的收集算法出现了,它将可用内存按容量划分为大小相

等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上

面,然后再把已使用过的内存空间一次清理掉。这样使得每次都是对整个半区进行内存回收,内存分配

时也就不用考虑内存碎片等复杂情况,只要移动堆顶指针,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档