我是靠谱客的博主 粗犷面包,这篇文章主要介绍Java的分带垃圾回收一. 分代回收二. 相关VM参数,现在分享给大家,希望可以做个参考。

Java的垃圾回收算法

  • 一. 分代回收
  • 二. 相关VM参数

一. 分代回收

在这里插入图片描述

  • 对象首先分配在伊甸园区域
  • 新生代空间不足时,触发 minor gc,伊甸园和 from 存活的对象使用 copy 复制到 to 中,存活的对象年龄加 1并且交换 from to
  • minor gc 会引发 stop the world,暂停其它用户的线程,等垃圾回收结束,用户线程才恢复运行
  • 当对象寿命超过阈值时,会晋升至老年代,最大寿命是15(4bit)
  • 当老年代空间不足,会先尝试触发 minor gc,如果之后空间仍不足,那么触发 full gc引发 stop the world的时间更长
    • 生代-复制算法
      每次垃圾收集都能发现大批对象已死, 只有少量存活. 因此选用复制算法, 只需要付出少量
      存活对象的复制成本就可以完成收集
    • 年代-标记整理算法
      因为对象存活率高、没有额外空间对它进行分配担保, 就必须采用“标记—清理”或“标
      记—整理”算法来进行回收, 不必进行内存复制, 且直接腾出空闲内存

二. 相关VM参数

在这里插入图片描述

最后

以上就是粗犷面包最近收集整理的关于Java的分带垃圾回收一. 分代回收二. 相关VM参数的全部内容,更多相关Java的分带垃圾回收一.内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(128)

评论列表共有 0 条评论

立即
投稿
返回
顶部