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
Profiling, Monitoring, and Tooling
Profiling Fundamentals
Profiling Methodology
Macro-profiling Approach
System-level Monitoring
Resource Utilization
Performance Trends
Micro-profiling Approach
Method-level Analysis
Fine-grained Measurements
Hotspot Identification
Profiling Overhead
Sampling vs. Instrumentation
Observer Effect
Production Profiling Considerations
Profiling Data Interpretation
Statistical Significance
Measurement Accuracy
Profiling Artifacts
Types of Profiling
CPU Profiling
CPU Usage Analysis
Thread CPU Time
Method Execution Time
CPU Hotspot Detection
Call Stack Sampling
Stack Trace Collection
Sample Frequency
CPU Profiling Techniques
Statistical Sampling
Instrumentation-based
Memory Profiling
Heap Usage Analysis
Object Allocation Tracking
Memory Leak Detection
Garbage Collection Impact
Memory Allocation Profiling
Allocation Rate
Allocation Patterns
Object Lifecycle
Memory Profiling Tools
Heap Dump Analysis
Allocation Sampling
Thread Profiling
Thread State Analysis
Thread State Transitions
Blocked Thread Detection
Wait Time Analysis
Thread Contention Analysis
Lock Contention
Synchronization Bottlenecks
Thread Lifecycle Monitoring
Thread Creation/Destruction
Thread Pool Analysis
I/O Profiling
File I/O Analysis
Network I/O Monitoring
Database Connection Profiling
JDK Command-Line Tools
jps (Java Process Status)
Process Listing
JVM Identification
Process Monitoring
jstat (JVM Statistics)
Garbage Collection Statistics
GC Performance Metrics
Heap Usage Statistics
Class Loading Statistics
Class Load/Unload Rates
Classloader Statistics
JIT Compilation Statistics
Compilation Metrics
Code Cache Usage
jstat Output Interpretation
jmap (Memory Map)
Heap Dump Generation
Live Object Dumps
Full Heap Dumps
Heap Summary Information
Object Histogram
Memory Usage Analysis
jstack (Stack Trace)
Thread Dump Generation
Stack Trace Analysis
Deadlock Detection
Deadlock Identification
Lock Chain Analysis
Thread State Analysis
jinfo (Configuration Info)
JVM Flag Inspection
Runtime Flag Values
Flag Modification
System Properties
JVM Configuration Analysis
jcmd (JVM Command)
Diagnostic Commands
Performance Counters
Native Memory Tracking
Flight Recorder Control
jhsdb (HotSpot Debugger)
Core Dump Analysis
Live Process Debugging
Memory Structure Inspection
GUI Monitoring Tools
JConsole
Real-time JVM Monitoring
Memory Usage
Thread Information
CPU Usage
MBean Management
MBean Browser
Attribute Monitoring
Operation Invocation
JConsole Limitations
VisualVM
Application Monitoring
Performance Overview
Memory Analysis
Thread Analysis
CPU Profiling
Method Profiling
Call Tree Analysis
Memory Profiling
Heap Dump Analysis
Object Allocation
Plugin Ecosystem
Java Mission Control (JMC)
Flight Recorder Integration
Low-overhead Monitoring
Event Analysis
Performance Analysis
JMC Features and Capabilities
Java Flight Recorder (JFR)
JFR Overview
Event-based Profiling
Low-overhead Design
Continuous Monitoring
JFR Event Types
JVM Events
Application Events
Operating System Events
JFR Configuration
Recording Profiles
Event Settings
Recording Duration
JFR Data Analysis
Event Timeline
Hot Methods
Memory Allocation
Garbage Collection Events
JFR Custom Events
Event Definition
Event Generation
Custom Profiling
Advanced Profiling Tools
async-profiler
Sampling Profiler
CPU and Memory Profiling
Flame Graph Generation
Low-overhead Profiling
async-profiler Configuration
Commercial Profilers
JProfiler
Feature Set
Profiling Capabilities
Integration Options
YourKit
Profiling Features
Performance Analysis
Memory Analysis
AppDynamics
New Relic
Profiler Comparison
Feature Matrix
Performance Overhead
Cost Considerations
Open Source Profilers
Eclipse MAT
JVM Monitor
Arthas
Profiling Data Analysis
Heap Dump Analysis
Heap Dump Generation
Automatic Dump Generation
Manual Dump Creation
Heap Dump Tools
Eclipse MAT
VisualVM
JProfiler
Memory Leak Detection
Dominator Tree Analysis
Reference Chain Analysis
Leak Suspects Report
Object Retention Analysis
Retained Size Calculation
Shallow vs. Retained Size
Thread Dump Analysis
Thread Dump Generation
Thread State Analysis
Runnable Threads
Blocked Threads
Waiting Threads
Deadlock Detection
Circular Dependencies
Lock Chain Analysis
Thread Contention Analysis
Synchronization Bottlenecks
Lock Wait Times
Flame Graph Analysis
Flame Graph Types
CPU Flame Graphs
Memory Flame Graphs
Off-CPU Flame Graphs
Flame Graph Interpretation
Stack Trace Visualization
Hotspot Identification
Performance Bottlenecks
Flame Graph Tools
FlameGraph Scripts
Interactive Flame Graphs
Previous
5. Just-In-Time Compilation
Go to top
Next
7. Advanced Performance Topics