JEP 519: Compact Object Headers
Published on: 2025-06-27 14:24:30
Summary
Change compact object headers from an experimental feature to a product feature.
Non-Goals
It is not a goal to make compact object headers be the default object-header layout.
Motivation
Compact object headers were introduced as an alternative object-header layout by JEP 450 in JDK 24. Features of this size are best introduced carefully and gradually, so we introduced it as an experimental feature.
Since JDK 24, compact object headers have proven their stability and performance.
They have been tested at Oracle by running the full JDK test suite. They have also been tested at Amazon by hundreds of services in production, most of them using backports of the feature to JDK 21 and JDK 17.
Various experiments demonstrate that enabling compact object headers improves performance:
It is time to change compact object headers from an experimental feature to a product feature.
Description
Compact object headers are enabled in JDK 24 via the command-line options
$ java -XX:+Un
... Read full article.