求助>gc roots>
3回复

gc roots



书上说, gc roots有4种

虚拟机栈引用的对象
本地栈引用的对象
方法区类静态属性
方法区常量引用的对象

对于young gc,如果考虑老年代引用年轻代,那是不是老年代的卡表也应该作为gc roots

2361 阅读
请先登录,再评论

回复列表

大空翼2周前

卡表可以做到不用扫描整个old,只扫描old存在到young引用的区域

卡表是为了解决old引用young时,需要扫描整个old的问题

可是,如果存活的old本来是gc root可达的,那正常扫描就可以的,为什么还需要卡表呢

会存在
在old区存活,但是gc root不可达的情况吗

大空翼2周前

嗯,是的,如果有老生代到新生代的引用,新生代该对象肯定要被标记