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
Garbage Collection Deep Dive
Garbage Collection Fundamentals
The Generational Hypothesis
Short-lived Object Patterns
Long-lived Object Patterns
Generational Collection Benefits
Object Lifecycle
Allocation Patterns
Object Aging
Promotion Criteria
Reachability Analysis
Garbage Collection Roots
Stack References
Static Variables
JNI References
Reference Types
Strong References
Soft References
Weak References
Phantom References
Stop-the-World Pauses
STW Event Causes
Application Impact
Pause Time Optimization
Garbage Collection Algorithms
Mark and Sweep
Marking Phase
Sweeping Phase
Fragmentation Issues
Copying Collection
Copy Algorithm
Space Overhead
Compaction Benefits
Mark-Compact
Compaction Process
Memory Defragmentation
Performance Characteristics
Concurrent Collection
Concurrent Marking
Concurrent Sweeping
Application Thread Coordination
Garbage Collectors
Serial GC
Single-threaded Collection
Use Cases
Small Applications
Client Applications
Performance Characteristics
Configuration Options
Parallel GC
Multi-threaded Collection
Throughput Optimization
Parallel GC Tuning
GC Thread Count
Adaptive Sizing Policy
GC Time Ratio
Parallel Old GC
Concurrent Mark Sweep (CMS)
Concurrent Collection Phases
Initial Mark Phase
Concurrent Mark Phase
Remark Phase
Concurrent Sweep Phase
CMS Advantages
Low Pause Times
Concurrent Operation
CMS Limitations
Fragmentation Issues
Concurrent Mode Failures
Floating Garbage
CMS Tuning Parameters
CMS Deprecation
Garbage-First (G1) GC
Region-based Heap Layout
Heap Regions
Region Types
Humongous Objects
G1 Collection Cycles
Young Generation Collection
Mixed Generation Collection
Full GC (Fallback)
G1 Concurrent Phases
Concurrent Marking Cycle
Cleanup Phase
G1 Tuning Parameters
MaxGCPauseMillis
G1HeapRegionSize
InitiatingHeapOccupancyPercent
G1MixedGCCountTarget
G1 Performance Characteristics
Z Garbage Collector (ZGC)
Ultra-low Latency Goals
Concurrent Operations
Concurrent Marking
Concurrent Relocation
Concurrent Reference Processing
Colored Pointers
Load Barriers
Pointer Encoding
ZGC Scalability
ZGC Configuration
ZGC Limitations
Shenandoah GC
Low-pause Collection
Concurrent Compaction
Forwarding Pointers
Brooks Pointers
Shenandoah Phases
Shenandoah Tuning
Epsilon GC
No-op Collector
Performance Testing
Memory Allocation Only
GC Performance Analysis
GC Metrics
Pause Time Measurements
Throughput Calculations
Allocation Rate
Promotion Rate
GC Logging
Unified JVM Logging
Log Tags and Levels
Log Output Configuration
Legacy GC Logging
PrintGC Options
GC Log Rotation
GC Log Interpretation
Pause Duration Analysis
Heap Occupancy Patterns
GC Cause Analysis
Allocation Failure Events
GC Analysis Tools
GCViewer
GCEasy
GCPlot
CRaC (Coordinated Restore at Checkpoint)
GC Tuning Strategies
Collector Selection
Workload Characteristics
Performance Requirements
Hardware Considerations
Heap Sizing for GC
Young Generation Sizing
Old Generation Sizing
Total Heap Size
GC Parameter Tuning
Pause Time Goals
Throughput Targets
Memory Efficiency
GC Monitoring and Alerting
GC Performance Metrics
Alerting Thresholds
Automated Tuning
Previous
3. Memory Management and Tuning
Go to top
Next
5. Just-In-Time Compilation