一、标记-清除
先把没有引用的对象标记,然后再把标记删除的对象直接清除。问题是内存碎片,可用区域不连续,稍微大的对象不能存放,空间浪费。
二、复制
把整个内存分为AB两部分,程序运行时新申请空间只能在A区域开辟,垃圾回收执行时将A区有用的对象拷贝的B区,然后把A区整体清除。问题是可用空间始终为分配空间的一半,浪费最严重。
三、标记-整理
先把没有引用的对象标记出来,然后再把有用的对象复制到集中的一侧,留下
一、标记-清除
先把没有引用的对象标记,然后再把标记删除的对象直接清除。问题是内存碎片,可用区域不连续,稍微大的对象不能存放,空间浪费。
二、复制
把整个内存分为AB两部分,程序运行时新申请空间只能在A区域开辟,垃圾回收执行时将A区有用的对象拷贝的B区,然后把A区整体清除。问题是可用空间始终为分配空间的一半,浪费最严重。
三、标记-整理
先把没有引用的对象标记出来,然后再把有用的对象复制到集中的一侧,留下