Catalogue
/
Software Development and Programming
/
Java Performance Tuning for Developers

Java Performance Tuning for Developers

A practical course for developers who already build Java applications and want faster, more predictable services. You will learn how to measure performance correctly, find bottlenecks with the right tooling, and apply changes that improve latency and throughput. The focus is on repeatable methods you can take back to your codebase.

What will you learn?

You will learn how to set meaningful performance goals, collect trustworthy measurements, and interpret what the JVM and your code are doing under load. You will use profiling and runtime diagnostics to pinpoint the real constraints before changing code or flags. You will leave with a structured tuning workflow that reduces guesswork and prevents regressions.

  • Measure performance reliably and avoid common benchmarking traps
  • Profile CPU, allocations, and memory pressure to find bottlenecks
  • Tune garbage collection and JVM settings for stable latency
  • Improve application performance across code, concurrency, and I O boundaries

Requirements:

  • Solid Java experience and familiarity with building and running services
  • Comfort with basic JVM concepts, threads, and HTTP APIs
  • A laptop with a JDK, a build tool, and a profiler toolset available

Course Outline*:

*We customize the course outline and content to your specific needs and relevant use cases.

Module 1: Performance mindset and measurement discipline

  • Latency, throughput, tail latency, and why they move differently
  • Building a repeatable test plan workloads, baselines, and success criteria
  • Benchmark pitfalls warmup, JIT effects, caching, and biased comparisons
  • Selecting representative scenarios and defining stop conditions

Module 2: CPU profiling and allocation analysis

  • Sampling vs instrumentation and choosing the right approach
  • Reading flame graphs and call stacks for real root causes
  • Allocation hot spots, boxing, and unnecessary object churn
  • Interpreting JVM Flight Recorder output at a practical level

Module 3: Memory model and garbage collection behaviour

  • Heap regions, young and old generations, metaspace, direct buffers
  • GC selection overview and when to consider G1, ZGC, Shenandoah
  • Reading GC logs and linking pauses to allocation rate
  • Practical tuning levers pause targets, heap sizing, and checkpoint patterns

Module 4: Code level performance patterns

  • Data structures and algorithmic choices that dominate runtime
  • Object lifetime, pooling tradeoffs, and safe reuse patterns
  • Avoiding accidental work in hot paths logging, formatting, and parsing
  • Micro improvements that compound and how to validate impact

Module 5: Concurrency and synchronisation costs

  • Contention sources locks, atomics, queues, false sharing
  • Thread pools and scheduling choices for common server patterns
  • Safe timeouts, retries, and backoff to protect tail latency
  • Recognising and fixing slowdowns caused by blocking calls

Module 6: I O, databases, and downstream effects

  • Connection pools, DNS caching, TLS overhead, and client settings
  • Database patterns batching, fetch size, N plus 1, and transaction scope
  • Serialisation and payload design JSON costs and alternatives
  • Keeping backpressure and resource limits visible

Module 7: JVM settings in containers and real deployments

  • Heap vs native memory in container limits and cgroup awareness
  • CPU limits, throttling, and their impact on throughput and pauses
  • Startup and steady state tradeoffs tiered compilation and class data sharing
  • Safe flag hygiene baseline sets and change tracking

Module 8: Observability and a tuning workflow

  • Metrics that matter request rates, queue depth, GC, pools, and errors
  • Tracing to identify slow hops and head of line blocking
  • Logging practices that support diagnosis without excess overhead
  • A repeatable workflow reproduce, measure, change, verify, document

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

4.122€*
Graph Icon - Education X Webflow Template
Level:
advanced
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.

3.087€*
Graph Icon - Education X Webflow Template
Level:
advanced
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.