看文章,需要持有怀疑的态度

433 阅读1分钟

占小狼,转载请注明原创出处,谢谢!

之前看到群里有一个同学说:在分析CMS垃圾回收时,如果扯到forground gc,都是不靠谱的,其实就是msc,这种搞不明白的名词,容易误导人。

他得出这个结论,主要是看到别人的一篇关于CMS的分析,但我实在不敢苟同。

首先forground gc这个名词并非随便说说的,而是HotSpot中对应算法的实现方法名,与它对应的有backgroud gc,即CMS GC时经常发生的逻辑。

forground gc 等于 msc(mark swap compact)? 显然不是,msc是一个带压缩的算法,而foreground gc不会压缩即不会整理碎片,其实现有点类似backgroud gc,两个算法的不同之处是:backgroud是部分STW的,而forground是完全STW,且没有预清理阶段。当然了,两者的触发条件也不同。

更多关于CMS算法分析:传送门

网络上关于CMS算法相关分析的文章实在是太多,以至于有些同学看到一篇文章所写的,以为都是对的,对于JVM方面分析的文章,最最权威的还是R大和笨神的文章,至于其它的野文章,可以参考,但需要持有怀疑的态度去看(包括我的),但我保证今天写的肯定没问题。