GC各算法分析

2020-12-26  本文已影响0人  zzj0990

算法的基础概念

G1的介绍

  1. https://www.oracle.com/technical-resources/articles/java/g1gc.html
  1. 收集的是那些card
  1. ZGC没有这个引用(使用的是颜色指针 使用其中的3位进行标记)
  1. 每租户单空间
    将jvm分割为好多的独立的空间,分配给某个租户使用
  2. session base gc
    以web app, session为单位相关的对象,一旦session 消失了,则将与之相关的对象进行gc,更高效
  1. 5% ~ 60%
  2. 一般不需要手工指定
  3. 也不要手工指定,因为这是G1预测停顿时间的基准。动态的调整 自动的进行优化
  1. 伊甸区、幸存区、老年区、大对象区


    屏幕快照 2020-12-25 下午5.53.28.png

    上图的次数是由4位bit指定的(栈指针中 待确认)

  2. 大对象
    超过单个region的50%
    或跨多个region


    屏幕快照 2020-12-25 下午6.05.35.png
  1. 扩内存
  2. 提高CPU性能(回收的快,业务逻辑产生对象的速度固定,垃圾回收越快,内存空间越大)
  3. 降低MixedGC触发的阈值,让MixedGC提早发生(默认是45%)
    MixedGC ~ CMS 流程很相似
    jdk10以前是串行的FGC 10以后是并行的,所以要尽量减少的FGC的发生

————————————————————
坐标帝都,白天上班族,晚上是知识的分享者
如果读完觉得有收获的话,欢迎点赞加关注

上一篇下一篇

猜你喜欢

热点阅读