jvm
jvm copied to clipboard
CMS问题
大佬,请问CMS 标记阶段为什么会需要STW?
你好: 你的邮件我会尽快看的啦!!!
你好,您发的邮件我已经收到,辛苦您了!!
我的理解,初始标记的时候,是根据GC ROOT进行可达性查询,如果不STW的话,GC ROOT会有变动;重新标记的时候,是为了标记那些在并发标记漏掉的对象,所以这里的标记时长不会很久,所以需要STW。感觉重新标记的STW解释有点牵强,欢迎大佬一起讨论。
看有的博客写的cms采用三色标记法,最开始为白色,标记完成之后白色的即为垃圾,那么增量的数据在并发清除阶段如何处理? 感觉不stw好像也没啥问题。
这个我也不知道啦。不过说实话,国内的博客一个抄一个没啥看的,这个博客写的也是比较浅显易懂,还是看周志明老师的书比较好。
好吧,希望能找到答案!
我的理解是初始标记需要从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: @.***>