大家好,今天小编为大家分享关于gg修改器最新版8.5.8_gg修改器最新版101.1的内容,赶快来一起来看看吧。
更多互联网精彩资讯、工作效率提升关注【飞鱼在浪屿】(日更新)
JDK 17 已经发布了几个月,它不仅包含了新的语言功能。在性能相比老版本的JDK也提升显著。与之前的 LTS 版本 JDK 8 和 JDK 11 相比,这一点尤为明显。 性能的大部分改进来自JVM中的新功能和优化,在这篇文章中,重点将放在垃圾收集领域的改进上.
这篇文章涵盖Parallel,GC和ZGC 中取得的进展。第四个收集器Serial GC,不包括在此比较中。Serial 是一个稳定的收集器,开销很低,
决定使用哪个垃圾收集器并不总是显而易见的。重要的是要明白,要做出正确的选择,首先需要弄清楚主要目标是什么。通常目标是优化吞吐量、延迟和/或占用空间。最佳解决方案当然是针对上述所有情况进行优化,并在每种情况下获得最佳性能。收集器在各个方面都力求尽可能优化,但它们旨在进行不同的权衡以支持不同的场景用例。
快速总结不同领域进行改进的含义:
做不同的权衡并不意味着不能从各个方面改进收集器。在改进收集器时,很大一部分是确保尽可能有效地进行权衡。另一个全面改进的好方法是重新评估旧的设计决策并提出更好的解决方案。
自 JDK 8 以来取得的进展,所有收集器或多或少在各个方面都有所改进。为了更好地显示进度,下面的比较使用标准化分数单独比较收集器,而不是原始分数。以下数据来自SPECjbb® 2015 的测试https://www.spec.org/jbb2015/。这是一个众所周知且稳定的基准测试,它不仅关注 GC 性能,因此结果也会显示整个 Java 平台的进展。
ZGC 是在 JDK 11 中引入的(从 JDK 15 开始生产就绪),因此我们只有两个 ZGC 数据点,而 G1 和 Parallel 有三个数据点。
吞吐量指标,与旧版本相比,所有收集器都有显着改进。ZGC是这方面改进最大的一个。G1 和 Parallel 在此设置中仍然具有更好的原始吞吐量,但扩展了堆,ZGC 弥补了这一差距。
谈到这个指标时,我们不仅仅是在测量 GC 性能。Java 平台的其他部分,例如 JIT 编译器,也有助于这些改进。
G1展示了最好的延迟。ZGC 也有了很大的改进。ZGC 在保持短暂停顿方面做得非常好。
JDK 17 中的 ZGC低于亚毫秒级暂停时间。G1 的目标是在延迟和吞吐量之间保持平衡,低于其默认的 200 毫秒暂停时间目标。该图表还包括一个额外的栏,用于快速显示不同收集器如何处理可扩展性。ZGC 被设计为具有不随堆大小扩展的暂停时间,当堆扩大到 128 GB 时就是这种情况。从暂停时间的角度来看,G1 比 Parallel 更好地处理更大的堆,因为它更具有保持暂停时间稳定性。
此图表比较了三个不同收集器的峰值本机内存开销。Parallel 和 ZGC 都非常稳定,因此在这里查看原始数字也更有意义。G1在这方面确实有所改进。
即使其他收集器没有减少开销,他们在其他方面有所改进,而不必使用额外的内存。
与旧版本相比,JDK 17的整体性能要好得多,无论使用哪种收集器。那么现在可能是重新评估要使用的 GC的好时机。在 JDK 8 Parallel 是默认设置,但在 JDK 9 中更改为 G1。G1 以比 Parallel 更高的速度改进,但仍然存在 Parallel 是最佳选择的使用场景。随着 ZGC(自 JDK 15 以来的生产就绪)的引入,还有第三种高性能替代方案。
以上就是关于gg修改器最新版8.5.8_gg修改器最新版101.1的全部内容,希望对大家有帮助。