Useful Links
Computer Science
Java Ecosystem
JVM Performance Tuning
1. Introduction to JVM Performance
2. JVM Architecture Fundamentals
3. Memory Management and Tuning
4. Garbage Collection Deep Dive
5. Just-In-Time Compilation
6. Profiling, Monitoring, and Tooling
7. Advanced Performance Topics
JVM Architecture Fundamentals
JVM Overview
JVM Specification vs. Implementation
Popular JVM Implementations
HotSpot JVM
OpenJ9
GraalVM
Azul Zing
JVM Lifecycle
JVM Startup Process
Runtime Phases
JVM Shutdown
Key Components of the JVM
Classloader Subsystem
Bootstrap Classloader
Platform Classloader
System Classloader
Custom Classloaders
Class Loading Process
Loading Phase
Linking Phase
Initialization Phase
Classloader Hierarchy
Parent Delegation Model
Runtime Data Areas
Heap Memory
Non-Heap Memory
JVM Stacks
Program Counter Registers
Native Method Stacks
Method Area
Execution Engine
Bytecode Interpreter
Just-In-Time Compiler
Garbage Collector
Native Method Interface
Runtime Data Areas Deep Dive
The Heap
Heap Structure
Object Allocation
Heap Generations
Garbage Collection Regions
JVM Stacks
Stack Frames
Local Variable Array
Operand Stack
Frame Data
Stack Overflow Conditions
Thread-specific Stacks
Method Area
Class Metadata Storage
Runtime Constant Pool
Static Variables
Method Bytecode
Program Counter Registers
Thread-specific Program Counters
Instruction Pointer Management
Native Method Stacks
Native Code Execution
JNI Integration
Execution Engine Components
Interpreter
Bytecode Execution
Interpretation Overhead
Performance Characteristics
Just-In-Time Compiler
Compilation Triggers
Optimization Levels
Code Cache Management
Garbage Collector
GC Algorithms
GC Threads
GC Phases and Cycles
Previous
1. Introduction to JVM Performance
Go to top
Next
3. Memory Management and Tuning