第一个问题是关于三色标记的问题。 jvm 的 原始快照,如果一个黑色对象关联到一个新的白色对象。这个对象并不是从灰色对象逃脱的。不是也一样会产生对象消失吗?为什么说必须满足两个条件才会出现对象消失的问题。这样一样会导致不该被回收的标记为白色。 第二个是关于卡表和记忆集的问题。 卡表中变脏的卡页会加入GC Root ,是将整个卡页的对象加入GC Root 还是通过某种方式,筛选出卡页中有跨代引用的对象加入GC Root, 如果还要筛选,依据是什么呢?如果不筛选,这样是否会产生浮动垃圾? 第三个是关于写屏障解决伪共享的问题,为什么多一个判断就能解决伪共享的问题?