《剑指JVM》——第16章——G1回收过程三:混合回收过程——垃圾收集器14

🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。

✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!

🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客

🔥温馨提示:划到文末发现专栏彩蛋   点击这里直接传送

🔥本篇概览:详细讲解了G1回收过程三:混合回收过程——垃圾收集器14。🌈⭕🔥


【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】


🔥 《剑指JVM》序言-CSDN博客

🔥 《剑指JVM》全书-CSDN博客


🌈章节引出

前一篇章:《剑指JVM》——第16章——G1回收过程二:并发标记过程——垃圾收集器13-CSDN博客

🌈章节速览


G1回收过程三:混合回收


·        当越来越多的对象晋升到老年代区时,为了避免堆内存被耗尽,虚拟机会触发一个混合的垃圾收集器,即Mixed GC,该算法并不是一个 Old GC,除了回收整个新生代区,还会回收一部分的老年代区。这里需要注意的是回收一部分老年代,而不是全部老年代。可以选择哪些老年代区进行收集,从而可以对垃圾回收的所耗时间进行控制。也要注意的是 MixedGC 并不是 Full GC。


        并发标记结束以后,老年代中百分百为垃圾的内存分段被回收了,部分为垃圾的内存分段被计算了出来G1的混合回收阶段是可以分多次进行的,但每次都会进入STW状态,次数默认是8次就被回收。运行逻辑是先 STW,执行一次混合回收回收些 Region,接着恢复系统运行,然后再STW,再执行混合回收。(类似于增量回收算法(其实就是它的升级嘛))


        每次混合回收的回收集(Colection Set)包括需要回收的老年代区的八分之一、Eden区以及Survivor 区。混合回收的算法和新生代回收的算法完全一样,只是回收集多了老年代的内存Region。具体过程请参考上面的新生代回收过程。

(请移步:《剑指JVM》——第16章——G1:新生代GC详解——垃圾收集器12-CSDN博客


        

        由于老年代中的内存分段默认分8次回收,G1会优先回收垃圾多的Region。垃圾占Region比例越高,越会被先回收。并且有一个值会决定Region是否被回收,默认为65%,意思是垃圾占内存分段比例要达到65%才会被回收如果垃圾占比太低,意味着存活的对象占比高,在复制的时候会花费更多的时间(也是复制算法的适用条件)

        混合回收并不一定要进行8次,事实上,混合回收阶段具体执行几次回收,看的是空闲Region 数量何时达到堆内存的10%,如果执行3次回收就达到了10%,就不会再继续执行巴收了。这个 10% 可以使用参数“-XX:G1HeapWastePercent”来控制。该参数默认值为10%,意思是允许整个堆内存中有10%的空间被浪费,意味着如果发现可以回收的垃圾占堆内存的比例低于10%,则不再进行混合回收。因为GC会花费很多的时间但是回收到的内存却很少



💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖

热门专栏推荐

🌈🌈计算机科学入门系列                     关注走一波💕💕

🌈🌈CSAPP深入理解计算机原理        关注走一波💕💕

🌈🌈微服务项目之黑马头条                 关注走一波💕💕

🌈🌈redis深度项目之黑马点评            关注走一波💕💕

🌈🌈JAVA面试八股文系列专栏           关注走一波💕💕

🌈🌈JAVA基础试题集精讲                  关注走一波💕💕   

🌈🌈代码随想录精讲200题                  关注走一波💕💕


总栏

🌈🌈JAVA基础要夯牢                         关注走一波💕💕  

🌈🌈​​​​​​JAVA后端技术栈                          关注走一波💕💕  

🌈🌈JAVA面试八股文​​​​​​                          关注走一波💕💕  

🌈🌈JAVA项目(含源码深度剖析)    关注走一波💕💕  

🌈🌈计算机四件套                               关注走一波💕💕  

🌈🌈数据结构与算法                           ​关注走一波💕💕  

🌈🌈必知必会工具集                           关注走一波💕💕

🌈🌈书籍网课笔记汇总                       关注走一波💕💕         



📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值