jvm GC 分区与分代收集算法


1.分代收集算法

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

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

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

2.分区收集算法

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM