从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC
原文中文,约6500字,阅读约需16分钟。发表于: 。一、ShenandoahShenandoah一词来自于印第安语,十九世纪四十年代有一首著名的航海歌曲在水手中广为流传,讲述一位年轻富商爱上印第安酋长Shenandoah的女儿的故事。后来美国有一条位于Virginia州西部的小河以此命名,所以Shenandoah的中文译名为“情人渡”。Shenandoah首次出现在Open JDK12中,是由Red Hat开发,主要为了解决之前各种垃圾回收器处理大...
ZGC是Java虚拟机中的一种垃圾回收器,支持TB级内存、停顿控制在10ms以内、对程序吞吐量影响小于15%。采用染色指针实现并发回收,使用读屏障保证访问正确转发。没有分代,采用分区域的堆内存布局,Region可以动态创建销毁和调整容量。采用虚拟内存映射技术和NUMA架构优化性能。运行步骤包括并发标记、并发预备重分配、并发重分配和并发重映射。