深入理解Java虚拟机之垃圾收集算法(1)
深入理解Java虚拟机之垃圾收集算法(1)
这一篇博客我们介绍一下虚拟机的垃圾收集算法,最基础的垃圾收集算法是“标记-清除”法,顾名思义
这个算法分为两个步骤,标记和清除,首先对需要进行回收的对象进行标记,如何进行标记在之前的博客里面
已经说过了,这里就不赘述了,标记完成之后,对所有进行标记过得对象进行回收。之所以说这个算法是最基
础的算法是因为之后的算法都是对这个算法进行的改进和补充,这个算法主要有两个不足之处:
1、效率不够高,标记和清除这两个过程的效率都不算高
2、在清除完成之后会产生大量的内存碎片,很容易导致在分配大对象的时候因为连续内存不足再次出发GC
这个算法的执行过程如图所示: