《剑指JVM》——第16章——G1收集器的特点及适用场景——垃圾收集器8

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

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

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

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

🔥本篇概览:详细讲解了G1垃圾回收器的特点与使用场景。🌈⭕🔥


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


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

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


🌈章节引出

前一篇章:

🌈章节速览


G1收集器的特点和使用场景


        G1是一款面向服务端应用的垃圾收集器,主要针对配备多核CPU及大容量内存的机器极大可能降低垃圾回收停顿时间的同时,还兼具高吞吐量的性能特征。与其他垃圾收集器相比,G1 使用了全新的分区算法,其特点如下:


一、特点



 1.并行与并发


        (1)多线程垃圾回收

        并行性是指G1在回收期间,可以有多个垃圾收集线程同时工作,有效利用多核计算能力。此时用户线程 STW。

        (2)拥有与app交替执行的并发能力

        并发性是指G1拥有与应用程序交替执行的能力,部分工作可以和应用程序同时执行,因此,一般来说,不会在整个回收阶段发生完全阻塞应用程序的情况。



2.分代收集

        (1)逻辑上分代,物理上分区

从分代上看,G1依然属于分代型垃圾收集器,它会区分新生代和老年代,新生代依然有 Eden 区和 Survivor 区。但从堆的结构上看,它不要求整个 Eden 区、新生代或者老年代都是连续的,也不再坚持固定大小和固定数量。详细分区请看16.6.3节。

        (2)全区域工作

        和之前的各类收集器不同,G1可以工作在新生代和老年代。其他收集器要么工作在新生代,要么工作在老年代。


3.空间整合

        (1)CMS采用了标记-清除算法,会存在内存碎片,会在若干次 GC后进行一次碎片整理

        (2)局部复制,全局标记-压缩

        G1将内存划分为一个个的Region。内存的回收是以Region作为基本单位的。Region之间是复制算法,但整体上实际可看作是标记-压缩算法,两种算法都可以避免内存碎片。这种特性有利于程序长时间运行,分配大对象时不会因为无法找到连续内存空间而提前触发下一次GC。尤其是当Java堆非常大的时候,G1的优势更加明显。



二、使用场景(与CMS对比)        

        G1垃圾收集器相较于CMS,还不具备全方位、压倒性优势。比如在用户程序运行过程中,G1无论是为了垃圾收集产生的内存占用(Footprint)还是程序运行时的额外执行负载(Overload)都要比CMS要高。从经验上来说,在小内存应用上CMS好,而大内存应用上G1好,平衡点在6~8G。


        一般我们认为在下面的几种情况中,使用G1可能比CMS更好:

(1)超过50%的 Java 堆被活动数据占用。

(2)对象分配频率或年代提升频率变化很大。

(3)GC停顿时间过长(长于0.5~1s)



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

热门专栏推荐

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

🌈🌈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、付费专栏及课程。

余额充值