关注
首先CMS是一个old gen收集器。 initial mark阶段需要找到所有的GC roots,这个阶段会STW,GC roots选取比较快,所以停顿时间不会太长。 concurrent mark阶段,GC roots tracing,扫描整个heap上(包括young gen和old gen)的所有存活的对象,这个阶段是和用户线程并发执行的,用户线程感知不到停顿。 remark阶段,需要修正在concurrent mark阶段发生变化的引用关系,具体就是young gen有新的对象加入,需要扫描整个young gen,修正引用关系,这个阶段需要STW,CMS最长的停顿时间在这个阶段,young gen越大,停顿时间越长(CMS之前可先跑一次young GC,降低remark阶段停顿时间)。 concurrent sweep阶段:并发清除。 CMS用的是mark sweep算法,会有内存碎片,如果CMS GC之后old gen仍然无法分配,就会启动backup的serial old进行full GC。平时CMS GC old gen跑到一定的容量的时候,也会用serial old跑一次full GC。
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
12-17 17:15
华东师范大学 运营 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
127528次浏览 2143人参与
# 找不到实习会影响秋招吗 #
1398613次浏览 13625人参与
# 实习简历求拷打 #
19759次浏览 224人参与
# 哪些公司笔/面试难度大? #
6937次浏览 31人参与
# 考研人,我有话说 #
156266次浏览 1208人参与
# 秋招遇到的奇葩面试题 #
101117次浏览 416人参与
# 投格力的你,拿到offer了吗? #
154124次浏览 829人参与
# 作业帮求职进展汇总 #
84720次浏览 558人参与
# 秋招被挂春招仍然能投的公司 #
8495次浏览 110人参与
# 简历当中有水分算不算造假? #
154125次浏览 2250人参与
# 携程工作体验 #
18703次浏览 66人参与
# mt对你说过最有启发的一句话 #
40771次浏览 465人参与
# 秋招被确诊为…… #
277042次浏览 1583人参与
# 国庆前的秋招小结 #
265691次浏览 1718人参与
# 什么是优秀的实习经历 #
10573次浏览 236人参与
# 选实习,你更看重哪方面? #
16182次浏览 270人参与
# 你收到了团子的OC了吗 #
1483584次浏览 11811人参与
# 找不到好工作选择GAP真的丢人吗 #
93509次浏览 1006人参与
# 摸鱼被leader发现了怎么办 #
106232次浏览 670人参与
# 担心入职之后被发现很菜怎么办 #
267307次浏览 1137人参与
