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
Memory Management and Tuning
Memory Architecture Overview
Heap vs. Non-Heap Memory
Memory Allocation Strategies
Memory Management Goals
The Heap Memory Structure
Generational Memory Model
Generational Hypothesis
Age-based Object Classification
Young Generation
Eden Space
Object Allocation in Eden
Eden Space Sizing
Minor GC Triggers
Survivor Space 0
Object Promotion Criteria
Survivor Space Usage
Survivor Space 1
Survivor Space Swapping
Copy Collection Algorithm
Young Generation Sizing
Impact on GC Frequency
Allocation Rate Considerations
Old Generation
Tenured Space
Object Promotion to Old Gen
Promotion Thresholds
Premature Promotion
Full GC Events
Full GC Triggers
Full GC Impact
Heap Sizing Strategies
Initial vs. Maximum Heap Size
Heap Growth Patterns
Memory Pressure Indicators
Non-Heap Memory
Metaspace
Class Metadata Storage
Metaspace Growth Patterns
Metaspace Limits and Thresholds
Metaspace Garbage Collection
Permanent Generation (Legacy)
PermGen Usage Patterns
PermGen OutOfMemoryError
Migration to Metaspace
Code Cache
JIT-compiled Code Storage
Code Cache Sizing
Code Cache Flushing
Code Cache Monitoring
Compressed OOPs
Object Pointer Compression
Memory Savings
Performance Impact
Direct Memory
Direct ByteBuffer Allocation
Off-heap Memory Usage
Native Memory Tracking
Memory Tuning Parameters
Heap Size Configuration
Initial Heap Size (-Xms)
Maximum Heap Size (-Xmx)
Heap Sizing Guidelines
Dynamic Heap Sizing
Young Generation Tuning
NewSize Configuration (-Xmn)
NewRatio Setting (-XX:NewRatio)
Survivor Ratio (-XX:SurvivorRatio)
Impact on GC Performance
Metaspace Configuration
MetaspaceSize (-XX:MetaspaceSize)
MaxMetaspaceSize (-XX:MaxMetaspaceSize)
Metaspace Threshold Tuning
Legacy PermGen Settings
PermSize (-XX:PermSize)
MaxPermSize (-XX:MaxPermSize)
Memory Issue Diagnosis
Memory Leaks
Common Leak Patterns
Static Collection Leaks
Listener Leaks
Thread Local Leaks
Leak Detection Techniques
Heap Dump Analysis
Memory Growth Monitoring
Leak Prevention Strategies
Excessive Memory Consumption
Memory Bloat Identification
Object Retention Analysis
Memory Usage Optimization
OutOfMemoryError Analysis
Heap Space Errors
Heap Exhaustion Causes
Heap Dump Generation
Metaspace Errors
Class Loading Issues
Metaspace Exhaustion
Direct Memory Errors
Direct Buffer Leaks
Native Memory Issues
GC Overhead Limit Exceeded
GC Thrashing
Performance Degradation
Previous
2. JVM Architecture Fundamentals
Go to top
Next
4. Garbage Collection Deep Dive