An Introduction to JVM Performance
summary
Explains how HotSpot turns bytecode into machine code via tiered JIT and uses runtime profiling to apply speculative optimizations, with 90% of call sites becoming monomorphic so direct links and heavy call-site inlining unlock further optimizations (unrolling, devirtualization, escape analysis). Shows how biomorphic/megomorphic sites and overridden anonymous subclasses kill inlining, gives logging and collection-iterator examples, contrasts JIT vs AOT for startup, and highlights branch prediction and escape analysis effects.
AI-written summary · about
chapters (8)
- 0:00Start
- 3:24How Does How Does the Jvm Process Bytecode
- 8:03Building Block of a Call Site
- 14:25Linked Call Sites
- 21:32Ahead of Time Compilation
- 25:04Double Brace Initialization
- 34:37Branch Prediction
- 37:42Escape Analysis
related talks
59mAn Introduction to JVM Performance
01h 01mAn Introduction to JVM Performance
49mAn Introduction to JVM Performance
01h 09mWhat it means to be Just In Time
01h 09mFrom Bytecode to Native Code in HotSpot JVM
55mThe Performance Engineer's Guide To Java HotSpot
54mJava performance techniques The cost of HotSpot runtime optimizations
35mJava at Speed: Building a Better JVM
