jvm的复制算法中将还存活着的对象复制到另外一块上面,这是不是涉及到有一个判断对象存活的过程(也就是可达性分析),
那么这实际上是不是和标记-清除算法中的“标记”是一样的?于是也可以称为标记-复制算法?
标记-清除的标记过程是为清除做准备的,需要获取的内容是哪些是没有用的,可达性分析过程中找到的都是需要保留的内容,不是需要清除的内容,所以需要做标记,在清除的时候清除没有标记的。
但是复制的算法需要获取的是哪些是有用的,也就是说可达性分析的过程中已经完成了筛选,分析过程中就可以将这一部分内容复制到另一半空间中,然后把原来的一半空间完全清除就可以了,没有标记的必要。