Java 24 将减少对象头大小以节省内存

Java 24 将减少对象头大小以节省内存

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

JEP 450(紧凑对象头)计划在JDK 24中发布,旨在通过缩小HotSpot中对象头的大小来优化堆利用率,减少堆大小,提高部署密度和数据局部性。新实现将标记字和类字合并为一个64位字,支持约400万个类类型。测试显示许多工作负载的吞吐量有所提升,预计2025年3月发布。

🎯

关键要点

  • JEP 450(紧凑对象头)计划在JDK 24中发布,旨在优化堆利用率。

  • 新实现通过缩小HotSpot中对象头的大小来减少堆大小,提高部署密度和数据局部性。

  • HotSpot在Java堆中存储所有对象,当前版本的对象头是强制性的。

  • 对象头包含标记字和类字,标记字用于实例特定的元数据。

  • 类字用于计算指向共享元数据的指针,类元数据存储在元空间中。

  • 新实现将标记字和类字合并为一个64位字,支持约400万个类类型。

  • 目标是在目标平台上将吞吐量和延迟开销限制在5%。

  • 测试显示许多工作负载的吞吐量有所提升,CPU利用率下降可达30%。

  • 紧凑对象头的实现依赖于对象监视器表机制,已在JDK 22中实现。

  • 预计JDK 24将在2025年3月发布,应用团队可以通过命令行开关测试新特性。

➡️

继续阅读