Tooling Experte

Objekt-Header-Größe halbieren für bessere Speicherdichte und Cache-Nutzung.

✕ Java 8
// Default: 128-bit object header
// = 16 bytes overhead per object
// A boolean field object = 32 bytes!
// Mark word (64) + Klass pointer (64)
✓ Java 25
// -XX:+UseCompactObjectHeaders
// 64-bit object header
// = 8 bytes overhead per object
// 50% less header memory
// More objects fit in cache
Problem mit diesem Code entdeckt? Sag uns Bescheid.
📦

50 % kleinere Header

8 Bytes statt 16 pro Objekt.

Bessere Cache-Nutzung

Mehr Objekte passen in CPU-Cache-Zeilen.

📊

Höhere Dichte

Mehr Objekte im gleichen Heap-Bereich.

Alter Ansatz
128-Bit-Header
Moderner Ansatz
64-Bit-Header
Seit JDK
25
Schwierigkeitsgrad
Experte
Kompakte Objekt-Header
Verfügbar

In JDK 25 LTS finalisiert (JEP 519, Sept. 2025).

Kompakte Objekt-Header reduzieren den Overhead pro Objekt von 128 Bit auf 64 Bit auf 64-Bit-Plattformen. Dies spart Speicher und verbessert die Cache-Nutzung, insbesondere für Anwendungen mit vielen kleinen Objekten.

Teilen 𝕏 🦋 in