关于IBM JVM GC回收机制:只被SoftReference引用的对象在GC的Mark阶段的markbit位会被标识成1吗?
最近在看IBM的JVM垃圾回收机制。有一些不明白的地方,看有没有那个大师给我解释一下。
GC 的主要三个阶段:标记、清理和压缩
在标记阶段会维护一个markbit位,如果是reachable 的live object,markbit位会被标志成1,否则是0.
问题:reachable的live object只包括强可及对象吗?也就是说在下面代码中, 对象new A()在标记阶段markbit位会被设置成1吗?
//创建一个强可及对象
A a = new A();
SoftReference sr = new SoftReference(a);
a = null;
或者谁又好一点介绍这一块的书推荐一下吧?