✅JDK 11中新出的ZGC有什么特点?

典型回答

ZGC(Z Garbage Collector)是Java 11中引入的一种新的垃圾回收器,他是一个为了实现低延迟而设计的垃圾收集器,具有以下几个特点:

  1. 低停顿:ZGC的目标是保证暂停时间非常短,ZGC 的目标是保持最大暂停时间在亚毫秒级,且这个暂停时间不会随着堆、live-set 或 root-set 的大小而增加。
  2. 高吞吐量:ZGC 是一个并发垃圾收集器,意味着大部分垃圾收集工作都是在 Java 线程继续执行的同时完成的。这极大地减少了垃圾收集对应用程序响应时间的影响。
  3. 兼容性:ZGC与现有的Java应用程序完全兼容,并且无需更改代码即可使用。但是也有一定的限制,仅支持 Linux 64位系统,不支持 32位平台。不支持使用压缩指针,采用内存分区管理。
  4. 简单性:ZGC设计简单,代码库较小,因此它更容易维护和扩展。
  5. 支持大堆:ZGC 能处理从 8MB 到 16TB 大小的堆,适用于大规模内存需求的应用程序
  6. 不分代回收:ZGC在垃圾回收时对全量内存进行标记,但是回收时仅针对分内存回收,优先回收垃圾比较多的页面。

因此,ZGC是一种新的、高效的、低停顿的垃圾回收器,适用于内存大小从几GB到数TB的应用程序。它的设计目标是在保证高吞吐量的同时保证最短的暂停时间,并且易于使用和维护。

原文: https://www.yuque.com/hollis666/xkm7k3/qpu0uu6em1ompzeh