写点什么

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:004707

评论

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

性能测试 | JMeter的运行

测试人

软件测试

火山引擎数据飞轮面向企业大模型业场景务提供数智服务

字节跳动数据平台

大模型 数智化 数智化转型

PhysicsAI 与 Inspire Cast 的结合:实现铸件缺陷的快速预测

Altair RapidMiner

人工智能 AI 仿真 智能制造 altair

开发者的利器:Rainbond 赋能你的产品创新

北京好雨科技有限公司

云原生 k8s rainbond 企业号9月PK榜

【首席战略官分享】流程管理和流程数字化 | 活动成本法

望繁信科技

数字化转型 业务流程管理 流程挖掘

实现-最佳实践-沉淀与践行V3

南山

个人成长

面试官:项目中如何实现布隆过滤器?

王磊

中国移动研究院与华为举行"数联网(DSSN)合作备忘录"签约仪式

极客天地

深入探索 RUM 与全链路追踪:优化数字体验的利器

阿里巴巴云原生

阿里云 云原生 全链路追踪 RUM

专业期刊《Java aktuell》:使用Apache TsFile和Apache IoTDB对时序数据进行分布式数据采集

Apache IoTDB

新场景、新能力,AI-native 时代的可观测革新

阿里巴巴云原生

阿里云 云原生 可观测

inBuilder零代码新版表单设计器特性一览

inBuilder低代码平台

低代码 零代码

“万亿级”低空经济,谁在风口上“飞”?

趣解商业

科技 出行 低空经济

华为openMind分论坛:赋能AI社区生态汇聚,推动AI创新发展智慧未来

极客天地

.net core集成Minio,构建一个文件存储的基础设施

为自己带盐

.net core Minio

华为四大创新助力运营商打造万兆智能接入网,加快50G PON商用部署,加速智能应用创新

极客天地

如何在 Rust 中通过 Rumqttc 实现 MQTT 通信

EMQ映云科技

rust mqtt emqx

被动元数据的不足和主动元数据的先进性

Aloudata

大数据 数据治理 元数据 数据管理 数据血缘

面试官:谈谈你对 IoC 和 AOP 的理解!

JavaGuide

Java spring aop ioc

TEDxDUTH 使用 NocoBase 实现革新

NocoBase

低代码 TED 管理工具 无代码 创新管理

JMeter的运行

霍格沃兹测试开发学社

豆包MarsCode初体验,用 React 创建一个最经典的贪吃蛇游戏

TRAE

人工智能 编程 程序员 AI 代码

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k, 定义数组的“能量“为所有和为 k 的子序列的数量之和。 请计算 nums 数组中所有子序列的能量和,并对

福大大架构师每日一题

福大大架构师每日一题

观测云全面支持 OaC,通过 Terraform 管理您的可观测性

观测云

Terraform

体验3A云游戏,无需购买高端显卡

Ogcloud

云游戏 3A云游戏 云游戏发行 游戏云化

如何借助SD-WAN实现简单且经济的组网?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

实践-最佳实践-时间管理V3

南山

个人成长

鸿蒙智行首款轿跑SUV智界R7上市,小艺化身贴心随行的用车顾问

极客天地

从自动化到智能化:AI如何推动业务流程自动化

天津汇柏科技有限公司

自动化 智能化 AI 人工智能

手工测试用例转Web自动化测试生成

霍格沃兹测试开发学社

RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!

声网

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