比较
算法 | 定义 | 优点 | 缺点 |
---|---|---|---|
标记-清除算法 | 标记需要回收的对象,然后统一回收 | 效率慢:标记和清除的效率都不高;空间问题:产生大量内存碎片 | |
复制算法 | 将内存分为两块,每次只使用一块,当这一块内存使用完后,将还存活的对象复制到另外一块内存,清除当前内存 | 不会产生内存碎片,实现简单,运行高效 | 由于正真使用的只有其中一块内存,浪费内存 |
标记-整理算法 | 与标记-清除算法相似,首先标记需要清除的对象,把存活的对象统一向一端移动,清除死亡对象 | 不会产生内存碎片,内存使用率高 | |
分代收集算法 | 根据对象存活周期的不同将内存划分为几块(新生代、老年代),根据不同年代的特点使用不同的收集算法 |