JVM——分代收集算法与分区收集算法

2022/7/31 14:25:36

本文主要是介绍JVM——分代收集算法与分区收集算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JVM——分代收集算法与分区收集算法
  1. 分代收集算法

    概念:根据对象的不同类型将内存划分为不同的区域,JVM将堆划分为新生代、老年代和永久代,并根据各个年代的特点分别采用不同的GC算法

    • 新生代——负责算法

    • 老年代——标记整理算法

    特点 适用算法
    新生代 对象生命周期短,标记阶段会标记大量已死亡对象 复制算法
    老年代 生命周期长的对象、大对象,可回收数量少 标记整理算法
    永久代 存储Class类、常量、方法描述等 回收废弃的常量无用的类
  2. 分区收集算法

    概念:将整个堆空间划分为连续的大小不同的小区域,每个小区域单独进行内存使用和垃圾回收,这样做的好处是可以根据每个小区域内存的大小灵活使用和释放内存。

    根据系统可接受的停顿时间,每次都快速回收若干个小区域,从而减少一次GC所产生的的停顿时间,最后以多次并行累加的方式逐步完成整个内存区域的垃圾回收。



这篇关于JVM——分代收集算法与分区收集算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程