Java Performance Tuning Workshops
Memory Effecient Java (4hrs)
- Objective: Learn how to quickly diagnose and solve memory leaks in Java heap
- Topics:
- Introduction
- Memory to CPU and back
- Allocations in Java Heap
- High Memory Churn
- Introduction
- Monitoring
- Tooling
- Resolving high allocations by example
- Problems with profilers
- Live Set Size Reduction
- Introduction
- Tour of tooling
Solving Java Memory Leaks (4hrs)
- Objective: Learn how to quickly diagnose, characterize and solve memory inefficiency in Java applications.
- Topics:
- Introduction
- Managed and Unmanaged Memory
- Java Heap
- Monitoring Java Heap
- Allocations in Java Heap
- Garbage Collection Overview
- Diagnostic - Generational counts
- Diagnostic - Dominators
- Other Leaks (Classloaders/Metaspace)
Garbage Collection Tuning (8hrs)
- Objective: Learn the basics of Garbage Collection and how to tune GC in Java
- Topics:
- Introduction
- OpenJDK Collectors
- Java Heap Structure
- Allocations in Java Heap
- Basic GC Cycle
- Garbage Collectors Phases
- Serial/Parallel/CMS
- G1GC
- ZGC
- Shenandoah
- DGC
- Metaspace
- Reference Processing
- Choosing a collector
- Tuning Goals
- Container Support
- GC tooling for observability
- GC Log Analysis
- OutOfMemoryError
Java Performance Tuning Workshop (3 days)
- Objective: Hands on dive into performance tuning Java applications.
- Topics:
- Introduction into Java Performance Diagnostic Methodology (JPDM)
- Latency and Throughput
- Measurements, accuracy, precision, resolution and bias
- Benchmarking for Performance
- Inside the JVM
- Garbage Collection
- HotSpot Optimizations
- Profiling Fundamentals
- Java Management Extensions
- IPC