1、标记清除算法
标记-清除算法分为两个阶段:标记阶段和清除阶段。标记阶段的任务是标记出所有需要被回收的对象,清除阶段就是回收被标记的对象所占用的空间。
2、复制算法
复制算法将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用的内存空间一次清理掉,这样一来就不容易出现内存碎片的问题。
3、标记整理算法
该算法标记阶段和Mark-Sweep一样,但是在完成标记之后,它不是直接清理可回收对象,而是将存活对象都向一端移动,然后清理掉端边界以外的内存。
4、分代回收算法
分代回收算法根据Java的语言特性,将复制算法和标记整理算法的的特点相结合,针对不同的内存情景使用不同的回收算法。
以上就是java垃圾回收的算法介绍,希望对大家有所帮助。更多Java学习指路:
本教程操作环境:windows7系统、java10版,DELL G3电脑。