The Performance Engineer's Guide To Java HotSpot
summary
Detailed checklist of outcomes and knobs: which HotSpot GCs actually compact incrementally (G1 does region‑based mixed collections), which reduce pauses by doing work concurrently, and which are deprecated; concrete JVM features and when they appear (AOT landing in Java 9, escape analysis usable from Java 8 onward). Measurable wins: string density and deduplication cut string footprint (strings ≈29% of heap), compressed oops save pointer space up to ~28GB heaps, TLABs and biased locking speed allocations and locking. Runtime tradeoffs and code cache/Deoptimization behavior are shown with real mechanisms and limits.
AI-written summary · about
chapters (30)
- 0:00Intro
- 0:42About Me
- 2:53Establishing the Characters and The Plot • HotSpot Virtual Machine
- 3:32The Storyline
- 4:10Java Runtime Environment
- 4:43The Helpers
- 5:08Heap Management
- 8:14HotSpot VM Runtime
- 9:09Runtime Goal
- 9:52The Trifecta of Performance
- 11:35Responsiveness and GC
- 13:42Responsiveness and Compilation
- 14:16Responsiveness and the Runtime
- 15:18Uncontended Locks
- 18:10Locking Improvements
- 20:42Contended Lock Optimization
- 21:34Footprint and GC
- 23:33Footprint and Compilation
- 25:25Escape Analysis
- 27:16Footprint and the Runtime
- 29:20A Java Object Header
- 29:47Compressed OOPs and Compressed Class Pointers
- 36:57Throughput and GC
- 40:21Without Intrinsics
- 41:09Java String Object
- 43:31Java String Deduplication (G1)
- 44:21The Generational Java Heap
- 53:26Compilation Engine
- 53:36Tiered Compilation
- 54:27Dynamic Deoptimization
related talks
59mAn Introduction to JVM Performance
35mJava at Speed: Building a Better JVM
54mJava performance techniques The cost of HotSpot runtime optimizations
01h 01mAn Introduction to JVM Performance
41mAn Introduction to JVM Performance
44mJava at Speed: Building a Better JVM.
51mJava Performance Update: From JDK 21 to JDK 25
51mJava 10/11 Memory Management and GC
