首页 > 编程语言 > 详细

jvm GC 分区与分代收集算法

时间:2020-06-30 18:25:53      阅读:199      评论:0      收藏:0      [点我收藏+]

1.分代收集算法

  根据对象存活周期的不同将内存划分为几块,入JVM中的新生代,老年代,永久代,这样就可以根据各年代特点分别采用最适当的GC算法

  1.1在新生代使用复制算法: 因为新生代每次垃圾收集都能发现大批的对象已死,只有少量存活,因此选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集.

  1.2在老年代使用标记整理算法:因为对象存活率高,没有额外空间对它进行分配担保,就必须采用”标记-清理“或者”标记-整理“算法来进行回收,不必进行内存复制,直接腾出空闲内存

2.分区收集算法

  分区算法则将整个堆空间划分为连续的不同小区间, 每个小区间独立使用, 独立回收

  这样可以控制一次回收多少个小区间 , 根据目标停顿时间, 每次合理地回收若干个小区间(而不是整个堆), 从而减少一次GC 所产生的停顿。 

jvm GC 分区与分代收集算法

原文:https://www.cnblogs.com/justalittlebird/p/13214983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!