跳到主要内容

2 篇博文 含有标签「GC」

查看所有标签

ZGC:超低延迟的可扩展垃圾收集器

· 阅读需 9 分钟

什么是ZGC?

ZGC(Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾收集器,在JDK 15中已经成为正式特性。它的设计目标是在保证极低延迟(小于10ms)的同时,能够处理大内存(TB级别)的垃圾回收需求。

ZGC的发展历史

孕育阶段(2015-2017)

  • 2015年:Oracle实验室开始ZGC项目的研发
  • 2016年:提出着色指针(Colored Pointers)概念
  • 2017年:完成核心算法设计和原型实现
  • 2017年末:首次在OpenJDK邮件列表中公布

实验特性阶段(2018-2020)

  • 2018年9月:随JDK 11发布第一个实验版本

    • 仅支持Linux/x64平台
    • 实现基础的并发收集功能
    • 引入了Load Barriers技术
  • 2019年:JDK 12-13期间的重要改进

    • 增加了Mac OS支持
    • 优化了并发标记算法
    • 改进了内存分配器性能
  • 2020年:JDK 14-15的突破

    • 增加Windows平台支持
    • 成为正式特性(JDK 15)
    • 引入了分代收集机制的实验版本

G1垃圾收集器:新一代服务端垃圾回收方案

· 阅读需 8 分钟

什么是G1垃圾收集器?

G1(Garbage First)收集器是在JDK 7中首次引入,并在JDK 9中成为默认垃圾收集器的一种面向服务端应用的垃圾收集器。它的设计目标是为了取代CMS收集器,同时兼顾吞吐量和停顿时间,特别适合堆内存大小在6GB及以上的应用程序。

G1收集器的发展历史

早期设计阶段(2004-2007)

  • 2004年:Sun公司开始G1项目的研发
  • 2005年:提出Region化内存布局的设计理念
  • 2006年:完成Remember Sets的初步设计
  • 2007年:实现首个原型版本

实验特性阶段(2008-2011)

  • 2008年:在JDK 7的早期版本中作为实验特性引入
  • 2009年:增加了自适应堆调整算法
  • 2010年:改进了大对象(Humongous Objects)的处理
  • 2011年:在OpenJDK 7中发布第一个正式版本