速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

JEP 474:分代式现已成为 Java 中 ZGC 的标准

  • 2024-07-04
    北京
  • 本文字数:805 字

    阅读完需:约 3 分钟

大小:420.02K时长:02:23
JEP 474:分代式现已成为 Java 中 ZGC 的标准

JEP 474(ZGC:默认分代式)以 JDK 23 为目标。该 JEP 建议将 Z 垃圾收集器(ZGC)的默认使用模式从非分代式改为分代式。非分代式将被弃用,并在未来的 JDK 版本中删除。这将彻底降低维护这两种模式的成本,让未来的开发工作可以集中在 JEP 439(分代式 ZGC)上。


JEP 474 中最主要的变化大概就是将 ZGenerational 选项的默认值从 false 改为 true,明确表明了 Java 的内存管理方式发生了战略性变化,尤其是在为 Java 应用程序提供更多“空闲”内存和更低的 GC 开销的基础上优化了垃圾回收。


将默认选项过渡到分代式是希望能借此减少同时支持分代式和非分代式的维护工作,从而允许 OpenJDK 团队会将分代式 ZGC 变得更为高效且有效,以应对外界对现代 Java 应用程序的期望。开发者需注意,非分代模式虽仍可用但已被弃用,因此在通过命令行选项明确启用非分代式时会出现警告。非分代式被弃用的事实意味着它在未来将会被移除。


下面这些常用命令行参数:

  • -XX:+UseZGC:现默认使用分代式 ZGC

  • -XX:+UseZGC -XX:+ZGenerational:同样是使用分代式 ZGC 但对 ZGenerational 标志发出弃用警告。

  • -XX:+UseZGC -XX:-ZGenerational:使用非分代式 ZGC,但对 ZGenerational 标志发出弃用警告,并提示非分代式已被弃用且将被移除。


开发者需对自己的应用程序进行测试,以确保其在新默认设置下的兼容性和性能。如果应用程序与 JVM 有紧密集成,且对垃圾回收非常敏感,那么其性能可能会发生变化。


OpenJDK 的测试承诺中包括确保现有配置和基准在新默认设置下的性能符合预期。对多数应用程序来说风险较低,但部分高性能或低延迟应用程序可能会需要对配置进行调整。


JEP 474 标志着 Java 持续发展过程中的一次关键更新,意图简化并改进垃圾回收的过程,并重点关注分代式技术。此次更新需要开发者重新评估其应用程序的兼容性和性能,但从长远来看,这次 JEP 有望能更高效地管理 Java 应用程序。


原文链接

JEP 474: Generational Mode Now Standard for ZGC in Java

2024-07-04 08:004545

评论

发布
暂无评论
发现更多内容

王者荣耀商城异地多活架构设计

浪飞

王者荣耀商城异地多活架构设计

tom

「架构实战营」模块七 王者荣耀商城异地多活架构设计

hxb

「架构实战营」

读《A Philosophy of Software Design》——(9)

术子米德

架构师成长笔记

模块七

Leo

架构实战营

读《A Philosophy of Software Design》——(13)

术子米德

架构师成长笔记

模块七作业

Geek_ec866b

架构训练营

读《A Philosophy of Software Design》——(17)

术子米德

架构师成长笔记

智能足球裁判,能否突破专业运动的技术瓶颈​

这不科技

Android C++系列:JNI中发送Http网络请求

轻口味

c++ android jni curl 4月月更

架构实战营 - 模块7 - 作业

凌波微步

「架构实战营」

在不确定性中寻找确定性(28/100)

hackstoic

创业 创业心态

每个互联网人才都应该知道的SQL注入!

喀拉峻

网络安全 安全 渗透测试 SQL注入

读《A Philosophy of Software Design》——(10)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(14)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(12)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(15)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(8)

术子米德

架构师成长笔记

适合 Kubernetes 初学者的一些实战练习 (五)

汪子熙

postgresql Kubernetes Cloud Native statefulset 4月月更

重学架构之王者荣耀商城异地多活架构设计

陈华英

架构实战营 「架构实战营」

模块7作业

Mr小公熊

读《A Philosophy of Software Design》——(16)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(18)

术子米德

架构师成长笔记

王者荣耀商城-异地多活设计

邹玉麒

架构训练营5期

Linux驱动开发-编写MMA7660三轴加速度传感器

DS小龙哥

4月月更

王者荣耀(商城)异地多活架构模拟设计

随欣所遇

架构训练营5期

Springfox swagger2 API文档

Rubble

4月日更

[Day8]-[动态规划] 最长公共子序列

方勇(gopher)

LeetCode 动态规划 数据结构与算法、

读《A Philosophy of Software Design》——(11)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(20)

术子米德

架构师成长笔记

读《A Philosophy of Software Design》——(19)

术子米德

架构师成长笔记

JEP 474:分代式现已成为 Java 中 ZGC 的标准_编程语言_A N M Bazlur Rahman_InfoQ精选文章