清除之前
清除之后
标记清除算法 就是先进行一次存活对象的标记
存活对象还在原位置
然后把垃圾对象清除掉,这里的清除并不是真正的删除
而是把垃圾对象保存在空闲的地址列表中
当有新对象进来直接覆盖掉垃圾对象的内存空间
但是会产生不连续的内存空间,这就是内存碎片
就是2个红颜色没有挨着,就是内存碎片
清除之前
清除之后
标记清除算法 就是先进行一次存活对象的标记
存活对象还在原位置
然后把垃圾对象清除掉,这里的清除并不是真正的删除
而是把垃圾对象保存在空闲的地址列表中
当有新对象进来直接覆盖掉垃圾对象的内存空间
但是会产生不连续的内存空间,这就是内存碎片
就是2个红颜色没有挨着,就是内存碎片