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

垃圾回收器总览

🔴 垃圾回收器概述 #JVM/垃圾回收器

🔴 垃圾回收器是JVM中负责自动内存管理的核心组件,通过不同的算法和策略实现堆内存的自动回收,确保Java程序的内存安全。不同的垃圾回收器适用于不同的应用场景和性能需求。

🟠 垃圾回收器分类体系

🟢 1. 按代际分类

  • 🟢 新生代收集器:Serial、ParNew、Parallel Scavenge、G1
  • 🟢 老年代收集器:Serial Old、Parallel Old、CMS、G1
  • 🟢 全堆收集器:G1、ZGC、Shenandoah

🟡 2. 按算法分类

  • 🟡 复制算法:Serial、ParNew、Parallel Scavenge
  • 🟡 标记清除算法:CMS
  • 🟡 标记整理算法:Serial Old、Parallel Old
  • 🟡 分代收集算法:G1、ZGC

🟠 3. 按并发性分类

  • 🟠 串行收集器:Serial、Serial Old
  • 🟠 并行收集器:ParNew、Parallel Scavenge、Parallel Old
  • 🟠 并发收集器:CMS、G1、ZGC

🟠 垃圾回收器对比一览

收集器 代际 算法 并发/并行 关注点 STW 停顿 吞吐量 延迟 典型场景 备注
Serial 新生代 复制 串行 简单稳定 较长 小堆、客户端 客户端默认
Serial Old 老年代 标记整理 串行 稳定 较长 小堆、回退 与PS/回退配合
ParNew 新生代 复制 并行 多核利用 CMS 搭档、Web 多线程新生代
Parallel Scavenge 新生代 复制 并行 吞吐量 很高 一般 批处理/计算密集 自适应调优
Parallel Old 老年代 标记整理 并行 吞吐量 很高 一般 批处理/服务端 与PS配套
CMS 老年代 标记清除 并发 低停顿 交互/Web 碎片、浮动垃圾
G1 全堆 分区化(复制/整合) 并发+并行 可预测停顿 低~中 大堆、混合负载 Region 化 + 停顿目标
ZGC 全堆 并发着色/重定位 高并发 极低延迟 极短(<10ms) 极低 超大堆、低延迟 需新JDK

🟡 各收集器速览(单行记忆)

  • 🔴 Serial:新生代/复制/串行;小堆客户端,停顿较长。
  • 🔴 Serial Old:老年代/标整/串行;回退或小堆稳定方案。
  • 🔴 ParNew:新生代/复制/并行;CMS 搭档,利用多核降停顿。
  • 🔴 Parallel Scavenge:新生代/复制/并行;吞吐量优先,自适应调优。
  • 🔴 Parallel Old:老年代/标整/并行;与PS配套,吞吐量优先。
  • 🔴 CMS:老年代/标清/并发;低停顿但有碎片与浮动垃圾。
  • 🔴 G1:全堆/Region化/并发+并行;可预测停顿,适合大堆。
  • 🔴 ZGC:全堆/并发重定位/高并发;<10ms 停顿,超大堆低延迟。

🟠 垃圾回收器选择策略

🟡 1. 按应用类型选择

  • 🟡 客户端应用:Serial + Serial Old
  • 🟡 服务端应用:Parallel Scavenge + Parallel Old
  • 🟡 低延迟应用:ParNew + CMS 或 G1
  • 🟡 超大堆应用:G1 或 ZGC

🟡 2. 按性能需求选择

  • 🟡 高吞吐量:Parallel Scavenge + Parallel Old
  • 🟡 低延迟:CMS 或 G1
  • 🟡 极低延迟:ZGC
  • 🟡 平衡性能:G1
http://www.hskmm.com/?act=detail&tid=35918

相关文章:

  • 软件工程第三次作业——结对项目
  • 2025年硅锰合金厂家推荐排行榜,硅锰合金颗粒,硅锰合金粉,高纯度硅锰合金材料源头厂家深度解析
  • PyCharm下载安装教程及激活步骤(附安装包)超详细保姆级教程
  • Windows下利用 Python OCR 识别电子发票(增值税专用发票)(使用 GhostScript 和 Tesseract )
  • 垃圾回收算法
  • 2025年臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式/工业臭氧检测仪专业选购指南
  • 2025年拖鞋机厂家权威推荐榜:酒店拖鞋生产线,全自动拖鞋机,一次性拖鞋机,酒店一次性拖鞋机器专业选购指南
  • 生成式 AI 重构内容创作:从辅助工具到智能工厂 - 实践
  • 2025年不锈钢酸洗钝化液厂家推荐排行榜:环保型不锈钢清洗钝化液,不锈钢管酸洗钝化处理,不锈钢清洗剂专业选购指南
  • 达梦8加密函数是什么怎么调用,达梦数据库加密算法
  • 基于Windows,Docker用法
  • 厨房电子秤方案:厨房秤常规的功能有那些?
  • npx和npm exec有什么区别
  • MySQL 死锁 怎么处理?
  • MyBatis 的 @SelectProvider 是一个强大的注解,用于动态生成 SQL 语句
  • 跨境客服系统如何保障国际数据传输安全?
  • 物联网短信收发速成:10分钟用SMS库上手实战
  • 2025年耳机插座厂家权威推荐榜:DC防水耳机插座,专业防水防尘设计,耐用稳定性能卓越之选
  • 2025年10月18日,工信部人才交流中心PostgreSQL认证考试完成!
  • 2025年CNC加工厂家权威推荐榜:CNC精密加工/加工中心CNC/cnc电脑锣加工/铝板cnc加工/精密CNC加工源头企业综合评测
  • Yolo11分类模型
  • 市面上的开源 AI 智能体平台使用体验
  • 简支梁在荷载作用下的变形计算
  • 2025年真空烧结炉厂家权威推荐榜单:高效节能、智能温控、工业窑炉设备优质供应商精选
  • 基于 tar.gz 的自定义 安装InfluxDB
  • 2025年移动泵车厂家推荐排行榜,防汛泵车,水泵机组,应急排水泵车,柴油机泵车公司精选
  • Oracle 触发器
  • 2025年铁氟龙高温线厂家推荐排行榜,铁氟龙/极细铁氟龙/UL10064铁氟龙/UL1332铁氟龙/UL1867铁氟龙公司推荐
  • Slope Trick
  • 阅读笔记二:高效编程的核心策略