有点杂:jvm垃圾回收

收集器

https://blog.csdn.net/weixin_42449534/article/details/98599103

新生代

  • Serial(串行、client新生代默认)/ParNew(serial多线程版本)
    • 新生代
    • 复制算法
    • stop the world
  • Parallel Scavenge(server新生代默认)
    • 并行的多线程版本
    • 标记复制算法复制算法
    • 追求可控的吞吐量

老年代

  • Serial(serial老年代版本)
    • 标记整理算法---同下
    • 简单、client老年代默认
    • 跟serial一样的有:stw/单线程
  • Parallel Old(Parallel Scavenge老年代版本)
    • 标记整理算法---同上
    • 跟新生代一样的是:stw/多线程/吞吐量优先

比较特殊的一个:

  • CMS(标记清除算法、concurrent mark sweep 并行标记清除)
    • 停顿少、用户体验好(高响应
    • 初始标记、并发标记、重新标记、并发清除
    • 。。。(具体查看网址或者本地笔记。)
  • G1
    • 面向服务端引用的垃圾收集器,为了替换cms收集器(我也不懂..)
    • 整体看是标记-整理算法,局部看是复制算法不会有内存碎片
    • 分代收集(新生代/老年代)
    • 并行/并发:利用多核/多cpu环境,缩短停顿时间、可与用户线程并发执行
    • 可预测停顿(我也不懂..)

面试点

CMS和G1的区别?

  • https://blog.csdn.net/xzp_12345/article/details/81839026
  • CMS是标记清除算法,G1是标记整理算法/复制算法,所以CMS会有内存碎片问题
  • CMS用在老年代,G1用在新生代和老年代
  • 在STW方面,CMS是做到很短的停顿时间,G1是做到可预测停顿(能明确指定ms的时间片段)
  • 垃圾回收过程不一样(待看..)
    图片说明

https://blog.csdn.net/weixin_42449534/article/details/98599103

全部评论

相关推荐

ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务