当前位置: 首页 > news >正文

【JVM】第五篇 垃圾收集器G1和ZGC详解

导航

      • 一. G1垃圾收集算法详解
        • 1. 大对象Humongous说明
        • 2. G1收集器执行一次GC运行的过程步骤
        • 3. G1垃圾收集分类
        • 4. G1垃圾收集器参数设置
        • 5. G1垃圾收集器的优化建议
        • 6. 适合使用G1垃圾收集器的场景?
      • 二. ZGC垃圾收集器详解
        • 1. NUMA与UMA
        • 2. 颜色指针
        • 3. ZGC的运作过程
        • 4. ZGC垃圾收集器存在的问题及解决方案
        • 5. ZGC的触发机制(4种)
        • ★ 6. 如何选择垃圾收集器?
      • 三. 安全点与安全区域详解
        • 1. 安全点
        • 2. 安全区域

一. G1垃圾收集算法详解

  G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器,以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征。
在这里插入图片描述

  • 使用G1,JVM堆中不存在物理划分的年轻代,S0,S1区和老年代区,但是保存了年轻代和老年代的概念,并且引用了`大对象区域Humongous
  • G1将JVM堆内存分成大小相等的独立区域(Region),JVM最多可以有2048个Region
  • 一个Region的大小等于堆大小除以2048,假如堆内存是4096M,那么一个Region的大小就是2M,也可以使用参数“-XX:G1HeapRegionSize”手动指定Region大小,但是建议使用默认大小
  • 默认年轻代占堆内存的大小是5%,如果堆大小为4096M,那么年轻代占200M的内存大小,对应大概100个Region大小,可以通过“-XX:G1NewSizePercent”设置新生代的初始占比,在系统运行中,JVM会不断的给年轻代增加更多的Region,但是上限是不能超过堆大小的60%,可以通过 “-XX:G1MaxNewSizePercent”调整。
  • 年轻代中的Eden和Survivor对应的region也跟之前一样,默认8:1:1,假设年轻代现在有1000个Region,Eden区对应800个,S0对应100个,S1对应100个。
  • 一个Region可能之前是年轻代,如果Region进行了垃圾回收,之后可能又会变成老年代,也就是说Region的区域功能可能会动态变化。
http://www.lryc.cn/news/181014.html

相关文章:

  • 嵌入式Linux应用开发-基础知识-第十九章驱动程序基石⑤
  • 数据分析技能点-独立性检验拟合优度检验
  • 了解汽车ecu组成
  • 用AI原生向量数据库Milvus Cloud 搭建一个 AI 聊天机器人
  • 【OpenCV-Torch-dlib-ubuntu】Vm虚拟机linux环境摄像头调用方法与dilb模型探究
  • (二)详解观察者模式
  • 嵌入式Linux应用开发-基础知识-第十九章驱动程序基石④
  • 2023 彩虹全新 SUP 模板,卡卡云模板修复版
  • 【AI视野·今日NLP 自然语言处理论文速览 第四十一期】Tue, 26 Sep 2023
  • 【iptables 实战】05 iptables设置网络转发实验
  • pygame - 贪吃蛇小游戏
  • 基于 QT 实现 Task Timer,高效利用时间
  • 图像处理与计算机视觉--第五章-图像分割-霍夫变换
  • linux下文件操作命令
  • Golang语法、技巧和窍门
  • Grander因果检验(格兰杰)原理+操作+解释
  • Python-Flask:编写自动化连接demo脚本:v1.0.0
  • kafka客户端应用参数详解
  • Apache Doris 行列转换可以这样玩
  • 【Qt图形视图框架】自定义QGraphicsItem和QGraphicsView,实现鼠标(移动、缩放)及键盘事件、右键事件
  • C语言结构体指针学习
  • 华为云云耀云服务器L实例评测|部署在线轻量级备忘录 memos
  • 详解Avast Driver Updater:电脑驱动更新工具的利器还是多余的软件?
  • 大数据Flink(九十五):DML:Window TopN
  • 使用OKHttpClient访问网络
  • maui 开发AMD CPU踩的坑。
  • 宝塔反代openai官方API接口详细教程,502 Bad Gateway问题解决
  • 【leetocde】128. 最长连续序列
  • 【Vue3】动态 class 类
  • 【Redis】redis基本数据类型详解(String、List、Hash、Set、ZSet)