Java 并发标记和扫描算法详细信息
我正在努力理解CMS终身收集周期中涉及的步骤,并获取更多细节Java 并发标记和扫描算法详细信息,java,garbage-collection,Java,Garbage Collection,我正在努力理解CMS终身收集周期中涉及的步骤,并获取更多细节 初始标记 并发标记 同时预清洗 重新标记 并行扫描 同时复位 这些步骤在很多地方都用很短的篇幅进行了解释。但是,如果我必须用图表和psuedo示例在类中描述它们,我可以从哪里获得这些信息 PS-我在谷歌上搜索了很多,它提供了很多我能理解的文字和行话。但我正在寻找一个更生动的解释,这样我可以教我的观众 这些都是一些很受欢迎的链接,第三个很有希望,但它没有特别解释CMS 亲爱的所有人,谢谢你们的评论和指点我一些资源。我已经尝试创建
亲爱的所有人,谢谢你们的评论和指点我一些资源。我已经尝试创建CMS步骤的可视化表示,您能告诉我这是否符合您的理解吗 而且我似乎错过了压缩步骤,它属于哪一个步骤 回答:好的,因此压缩不由CMS处理,而是委托给完整GC
从java 1.5开始,另一个被遗漏的阶段是“并发中止预清理”。它的目的是推迟评论,直到在伊甸园空间达到预期的入住率 除此之外,你几乎走上了正轨 我建议你看看这个和这个。它确认了您在图像中输入的步骤 这很好地概括了事情。对我来说 与前辈
说得很清楚。我忘了我也读过上面@gap_j提到的链接,这些链接也很好
您询问了压缩步骤的位置,但CMS没有。这可能会导致其自身的问题,特别是它会增加分配内存的成本(因为JVM必须使用列表来跟踪哪些内存是空闲的,并且不能只从占用空间的末尾分配内存),有时这可能意味着一个碎片堆。我怀疑是否有人会回答您,因为这个问题太宽泛了。所有的规格都可以在网上找到,所以你只需要找到它们。你可以找到很多链接,而不是等待其他人为你工作。在这种情况下,我建议你给出一个好的链接来解释算法本身。。你花在写评论上的时间本可以在这里得到很好的利用。你应该给我们一些你发现的链接不够生动的例子。否则,人们可能会给你相同的链接,例如-对我来说很有意义(只要你读了之前的2篇GC博客文章,他写道)嗨,我添加了一种可以访问的链接。。这些链接从整体上深入讨论了GC,但并没有特别深入了解CMS。