Catalogue
/
Programming
/
Java Performance Tuning

Java Performance Tuning

A practical course for engineers who want faster, more predictable Java services. Participants learn how to measure correctly, find bottlenecks, tune the JVM, and make code and configuration changes that deliver real gains.

What will you learn?

You will design honest benchmarks, profile CPU and memory, tune garbage collection, and apply safe code and configuration patterns for latency and throughput.

Requirements:

  • Comfortable with Java and the JVM ecosystem
  • Ability to run and inspect a Java service locally
  • Basic understanding of threads, HTTP, and databases

Course Outline*:

*We know each team has their own needs and specifications. That is why we can modify the training outline per need.

Module 1: Performance mindset and honest measurement

  • Throughput vs latency vs tail latency and why they differ
  • Benchmark pitfalls warmup, JIT, constant folding, and fair comparisons
  • Micro vs macro benchmarks with JMH at a glance
  • Choosing target SLOs and a repeatable test plan

Module 2: Profiling CPU and allocations

  • Flame graphs and stack sampling with async profiler or JFR
  • Hot methods, inlining, boxing, and allocation hot spots
  • Object lifetime basics escape analysis and scalar replacement ideas
  • Reading JIT compilation logs at a beginner level

Module 3: Memory and garbage collection tuning

  • Heap layout young, old, metaspace and what to watch
  • Collector choices G1, ZGC, Shenandoah and selection tips
  • Key GC knobs pause goals, regions, initiating heap occupancy
  • Reading GC logs and linking pauses to allocation rate

Module 4: Concurrency and synchronization costs

  • Contention sources locks, atomics, false sharing, and queues
  • Thread pools, virtual threads overview, and backpressure signals
  • Timeouts, retries, and circuit breakers to protect tail latency
  • Safe patterns for caching and avoiding stampedes

Module 5: I or O, databases, and downstream effects

  • HTTP clients, connection pools, timeouts, and DNS caching
  • JDBC and R2DBC basics fetch size, batching, and N plus 1 traps
  • Serialization costs JSON, binary options, and payload shaping
  • Async pipelines and when to keep it simple

Module 6: JVM and container settings

  • Memory sizing heap vs native and container awareness
  • CPU limits, schedulers, and impact of throttling
  • Class data sharing, tiered compilation, and startup tradeoffs
  • Safe defaults for production flags and a small checklist

Module 7: Observability for speed

  • Metrics that matter request, pool, GC, and queue signals
  • Tracing to spot slow hops and head of line blocking
  • Log hygiene for timing without noise
  • Building a simple performance dashboard

Module 8: Tuning workflow and playbooks

  • Triage steps reproduce, measure, change, verify
  • Rollout strategies canary and feature flags for risky changes
  • Common tuning recipes allocation cuts, pool tuning, GC guardrails
  • Ninety day plan and a pocket checklist

Hands-on learning with expert instructors at your location for organizations.

3.072€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
14
Hours (days:
2
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Immersive hands-on experience in a dedicated setting
*Price can range depending on number of participants, change of outline, location etc.

Master new skills guided by experienced instructors from anywhere.

2.037€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
14
Hours (days:
2
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Reduced training costs
*Price can range depending on number of participants, change of outline, location etc.