标记清除算法 根据可达分析,先标记没有直接或者间接被GC Root引用的内存,然后进行“清除”,这里的清除是把被标记的起始和结束地址放到一个叫空闲地址列表里,就算是清除了,下次分配内存时会到这个列表里寻找合适的地址。 优点 速度快,只需要记录起始与结束的地址 缺点 清除后不会对内存空间进行整理,会造成内存不连续,产生内存碎片,就会导致如果新对象需要的空间太大则无法存入。 如这图,空白位置合在一起是可以存入的。