JVM and Performance
How the JVM loads, verifies, compiles and runs code — and how to tune and profile it.
This is an overview — pick a sub-topic below.
Sub-topics (11)
Class Loading
Class loaders find and load classes on demand: bootstrap → platform → application loaders.
Bytecode Verification
The JVM checks loaded bytecode for type safety and valid stack usage before running it.
JIT Compilation
The JVM interprets bytecode, profiles hot methods, then compiles them to optimised native code (C1/C2 tiers).
Garbage Collection
Automatic memory reclamation of unreachable objects.
Heap and Stack in Java
Objects live on the shared heap; each thread has a stack of frames with locals and references.
JVM Tuning
Configure memory and GC with flags.
Java Flight Recorder
Low-overhead built-in profiling and event recording for production JVMs.
Java Mission Control
A desktop tool for analysing JFR recordings — hot methods, allocations, GC pauses, locks.
Profiling Java Applications
Find CPU and memory hot spots with profilers.
Memory Leaks in Java
Objects still referenced but no longer needed — GC can't free them.
JMX
Java Management Extensions: expose and monitor metrics and controls of a running JVM.
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.