前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM性能调优-剖析标记整理算法与分代收集算法

JVM性能调优-剖析标记整理算法与分代收集算法

作者头像
cwl_java
发布2019-12-20 13:12:43
3300
发布2019-12-20 13:12:43
举报
文章被收录于专栏:cwl_Java
简介:标记整理算法讲解以及分代收集算法讲解
标记整理算法解决了什么问题

复制收集算法在对象存活率较⾼时就要进⾏较多的复制操作,效率将会变低。更关键的是,如果不想浪费 50%的空间,就需要有额外的空间进⾏分配担保,以应对被使⽤的内存中所有对象都 100%存活的极端情况,所以在⽼年代⼀般不能直接选⽤这种算法

标记-整理

根据⽼年代的特点,有⼈提出了另外⼀种“标记-整理(Mark- Compact)算法,标记过程仍然与“标记-清除”算法⼀样,但后续步骤不是直接对可回收对象进⾏清理,⽽是让所有存活的对象都向⼀端移动,然后直接清理掉端边界以外的内存

分代收集

⼀般把 Java 堆分为新⽣代和⽼年代,这样就可以根据各个年代的特点采⽤最适当的收集算法.在新⽣代中,每次垃圾收集时都发现有⼤批对象死去,只有少量存活,那就选⽤复制算法,只需要付出少量存活对象的复制成本就可以完成收集。⽽⽼年代中因为对象存活率⾼、没有额外空间对它进⾏分配担保,就必须使⽤“标记-清理”或者“标记⼀整理”算法来进⾏回收

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 标记整理算法解决了什么问题
  • 标记-整理
  • 分代收集
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档