jvm icon indicating copy to clipboard operation
jvm copied to clipboard

CMS问题

Open renjie-rm opened this issue 2 years ago • 7 comments

大佬,请问CMS 标记阶段为什么会需要STW?

renjie-rm avatar Apr 26 '22 08:04 renjie-rm

你好: 你的邮件我会尽快看的啦!!!

lkun avatar Apr 26 '22 08:04 lkun

你好,您发的邮件我已经收到,辛苦您了!!

haimli avatar Apr 26 '22 08:04 haimli

我的理解,初始标记的时候,是根据GC ROOT进行可达性查询,如果不STW的话,GC ROOT会有变动;重新标记的时候,是为了标记那些在并发标记漏掉的对象,所以这里的标记时长不会很久,所以需要STW。感觉重新标记的STW解释有点牵强,欢迎大佬一起讨论。

MengXiangDing avatar Apr 26 '22 08:04 MengXiangDing

看有的博客写的cms采用三色标记法,最开始为白色,标记完成之后白色的即为垃圾,那么增量的数据在并发清除阶段如何处理? 感觉不stw好像也没啥问题。

renjie-rm avatar Apr 26 '22 09:04 renjie-rm

这个我也不知道啦。不过说实话,国内的博客一个抄一个没啥看的,这个博客写的也是比较浅显易懂,还是看周志明老师的书比较好。

MengXiangDing avatar Apr 26 '22 09:04 MengXiangDing

好吧,希望能找到答案!

renjie-rm avatar Apr 26 '22 09:04 renjie-rm

我的理解是初始标记需要从GC root开始逐步扫描有直接关系的引用。这个阶段不STW没法做,不然直接关系链会一直变化。发自我的荣耀手机-------- 原始邮件 --------发件人: renjie-rm @.>日期: 2022年4月26日周二 16:41收件人: doocs/jvm @.>抄送: Subscribed @.***>主 题: [doocs/jvm] CMS问题 (Issue #25)

大佬,请问CMS 标记阶段为什么会需要STW?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

HiFxs avatar Apr 28 '22 03:04 HiFxs