Session
From Compressed OOP to Compact Headers: JVM Internals Explained
With Java 25, a major change in the memory layout of objects is arriving: Compact Object Headers. In this talk, supported by numerous graphics that make complex concepts easy to grasp, you’ll learn what’s behind this innovation.
We’ll use Compact Object Headers as a starting point to explore the world of object headers, object pointers, and class pointers. What exactly are OOPs (Ordinary Object Pointers), and how do Compressed OOPs work on 64-bit systems? How are classic 128-bit object headers structured – and how can they be compressed to 96 or even 64 bits?
You’ll discover what the Mark Word is, how it’s structured, what role it plays in locking – and how this relates to the pinning of virtual threads. We’ll look at the evolution from legacy locking to lightweight locking, and how this very evolution paved the way for smaller headers through Project Lilliput.
Finally, you’ll learn why smaller objects don’t just save memory, but can also noticeably improve your application’s performance.
This talk is aimed at developers who not only write Java code but also want to understand the JVM mechanisms under the hood.
Basic Java knowledge is sufficient. No prior experience with JVM internals is required – all concepts will be explained clearly and with practical examples.
So far, I have given (or will give) this talk at two online conferences:
- entwickler.de: Java 25 Unboxed
- betterCode() Java 2025
Sven Woltmann
Java trainer, consultant, speaker – author of HappyCoders.eu
Berlin, Germany
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top