Java Performance

This comprehensive four day workshop, led by Java Champion Kirk Pepperdine, will provide you with techniques that have been proven to improve your ability to find and fix performance bottlenecks.

What you won't find are tips and tricks that will be obsoleted with the next release of Java. Instead, the course focuses on a methodology that has evolved from years of experience solving performance problems found in a variety of languages running on number of different execution platforms.

Course content

Day 1 – Performance testing

  • Defining performance and performance tuning
  • Defining the user experience
  • Psychology of performance tuning
  • Performance tuning methodology
  • Performance tuning model
  • System monitoring
  • Response time budgeting
  • Usage patterns
  • Test harnesses
  • Load, stress, and endurance testing
  • Micro and macro benchmarking
  • Analysis of benchmarking results
  • Factors that affect benchmarks
  • Benchmarking exercises

Day 2 – All about the JVM

  • HotSpot internals
  • HotSpot monitoring
  • HotSpot tools
  • HotSpot tuning
  • Memory management
  • Garbage collection basics
  • Garbage collection algorithms
  • Object Lifecycle
  • Monitoring garbage collection
  • Tools for garbage collection analysis
  • HotSpot and Garbage collection exercises

Day 3 – Profiling

  • Tools to find latency
  • Inter-process communications monitoring
  • JDBC monitoring
  • Java Management eXtentions (JMX)
  • Thread profiling
  • Execution profiling
  • Thread monitoring
  • Memory profiling
  • Memory leak and loitering objects diagnosis and repair
  • Thread dump analysis
  • Case Studies
  • Monitoring and profiling exercises

Day 4 – Putting it all together

  • Obtaining higher levels of concurrency
  • Performance tuning tactics
  • Review of performance sensitive algorithms
  • A series of indepth performance tuning exercises