星海

JVM · 单选题 · 第 27 题

Java 后端开发面试 · 第 27 题

关于 G1 垃圾收集器,下列说法正确的是?

  1. A把堆划分成许多大小相等的 Region,优先回收垃圾最多的 Region,可以设置期望停顿时间
  2. B把堆在物理上划分成连续的新生代和老年代两大块,与 Parallel 收集器的布局完全一样
  3. C整个回收过程完全没有 Stop-The-World 停顿,所有阶段都与应用线程并发执行
  4. D只适合几百 MB 以下的小堆,堆一旦超过 4GB 就会自动退化为串行收集器运行

答案

A A. 把堆划分成许多大小相等的 Region,优先回收垃圾最多的 Region,可以设置期望停顿时间

解析

G1 的新生代和老年代只是逻辑上的 Region 集合,不要求物理连续。它根据各 Region 的回收收益和 -XX:MaxGCPauseMillis 目标挑选回收集,这就是 Garbage First 名字的由来。G1 仍有 STW 阶段,比如 Young GC 和最终标记。JDK 9 起它是默认收集器。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。