标记:标记的过程其实就是,遍历所有的GC Roots,然后将所有GC Roots可达的对象标记为存活的对象。 清除:清除的过程将遍历堆中所有的对象,将没有标记的对象全部清除掉。 其实这两个步骤并不是特别复杂,也很容易理解。LZ用通俗的话解释一下标记/清除算法,就是当程序运行期间,若可以使用的内存被耗尽的时候,GC线程就会被触发并将程序暂停
在标记的时候,不在对象的头里置位,而是在表格中的特定场所置位。 面试官:那个表格是啥?是相亲的时候填的表格么? 我:不是相亲登记表格,是位图表格(bitmap table). 位是标记为的意思,利用这个表格进行标记的行为称为“位图标记”。 面试官:还是没听明白,你到底说说他和相亲表格有啥不同?(面试官摸了摸头上剩...