High Performance Java Tuning Course
This comprehensive four day workshop 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. During the course of the
seminar we will look at how Java works, tooling to expose
performance bottlenecks and a methodology that helps you to
decide on which tools should be used. The workshop contains
more than a dozen exercises each taken from real world
problems and each designed to challenge your thinking.
"The best course I ever attended: High knowledge of the
trainer. Very helpful information, which could be used in
real life. Exercises allowing to see the real life problems
and the way how the problems should be solved - step by step.
Introduction to open source / free tools which allow to
monitor and diagnose quickly performance problems of the
application."
Rafal Zablocki, ING Nationale-Nederlanden
During the four days you'll learn how to:
- Quickly identify the root causes of poor performance in your applications
- Eliminate conditions that will prevent you from finding performance bottlenecks
- Find critical supportive evidence before deciding on a potentially expensive course of action
- Find performance issues before they make their escape into your production system
Course Outline
| Chapter | Description |
Day 1 - Dominating Consumer
|
- Defining the user experience
- Defining performance and performance tuning
- Performance tuning methodology
- Performance tuning model
- Response time budgeting
- Usage patterns
- Test harnesses
- Load, stress, and endurance testing
|
Day 2 - Where did my Memory Go?
|
- System monitoring
- Memory management
- Garbage collection
- Object life cycles
- Monitoring garbage collection
- Tools for garbage collection analysis
|
Day 3 - Profiling
|
- Tools to find latency
- Inter-process communications monitoring
- JDBC monitoring
- Threading and concurrent
- Java Management eXtentions (JMX)
- Thread profiling
- Execution profiling
- Memory profiling
- Memory leak and loitering objects diagnosis and repair
- Thread dump analysis
|
Day 4 - Benchmarking
|
- Micro benchmarking
- Macro benchmarking
- Factors that affect benchmarks
- Analysis of benchmarking results
- Review of performance sensitive algorithms
- Performance tuning tactics
- Getting big gains first
- Psychology of performance tuning
|
|