Java12 - Microbenchmark 程序

Java12 为其垃圾收集算法引入了多项增强功能。


JEP 189 – Shenandoah:低停顿时间垃圾收集器(实验性)

一种实验性的低暂停时间垃圾收集器 Shenandoah 被引入以减少 GC 暂停时间。 它与运行的 java 线程并行工作。 这有助于减少 GC 对堆大小的依赖性并使其保持一致。 现在,对于 2 MB 和 2 GB 堆空间,垃圾收集暂停时间将是相似的。

Shenandoah 有望成为 Java 15 主要 JAVA 版本的一部分。


JEP 346 – 及时返回未使用的提交内存

在 Java12 中,如果应用程序处于非活动状态,G1 将处理 java 堆空间,并可能将内存释放给操作系统。 这种先发制人的行为可以节省和释放内存。


JEP 344:可中止的混合集合

在 Java12 中,G1 的效率得到了提升。 现在,如果 G1 混合集合超过定义的暂停限制,它们将被中止。 现在混合集合被分为强制性和可选性。 G1 收集器可以优先考虑强制集合以检查暂停时间目标。