Learn how to identify, prevent, and solve latency issues in a multithreaded Java application.
Overview
Syllabus
Introduction
- Welcome to high-performing Java applications
- So your Java application is slow
- Troubleshooting latency vs. throughput
- Parallelism vs. concurrency
- Synchronization and locking
- Garbage collection
- Resource chokepoints and long-running operations
- Bad component defaults
- Java stream issues
- Find the source of a blockage
- Collect thread dumps
- Challenge: Find the sleeping method
- Solution: Find the sleeping method
- Identify blocked threads in thread dumps
- View blocked threads with Java Mission Control
- View blocked threads with Java Flight Recorder
- Microbenchmarks in Java with JMH
- Challenge: Run JMH benchmarks and compare
- Solution: Run JMH benchmarks and compare
- Conquer your threads
Taught by
Tayo Koleoso