Java Performance Tuning Training Course

Node ID: 4769
 

Duration

28 hours
 

Requirements

None

 

Public Course Dates

There is no public course dates for this training.
This course would cost you around 3890GBP + VAT.
Please submit a public course date request for the exact price.

Overview

What will you learn?

Performance tips all come with a shelf life that is linked to the particular technology to which they are applied. Once that technology changes or is no longer used, the tips become useless at best and harmful at worst. For this reason we have purposely designed a course that focuses on providing you with something more than just tricks to get the latest and greatest framework to meet your performance needs. One of the tools we aim to leave you with is a methodology that we've used other the years on a regular basis. This methodology has helped us quickly identify and solve hard performance issues.

The other equally important aspect of performance tuning is tooling. A good portion of the course focuses on a number of open source tools that we have found to be useful in our campaigns to stamp out performance bottlenecks.

Beyond methodology and tooling, we look at some of the fundementials of Java technology. This includes the inner workings of the Java memory management and HotSpot/JIT technologies.

Objectives

The object of this course is to:

  • how to apply rigor to the task of performance tuning
  • how to setup a performance tuning environment
  • importance of performance tuning requirements and goals
  • tools needed to conduct a performance investigation
  • benchmarking and micro-benchmarking skills
  • Java memory and execution models
 

Course Outline

Day 1 Tools & Methodology

  • Defining performance and performance tuning
  • Common performance problems
  • Load testing with Apache JMeter
  • Execution, memory and thread profilers
  • System level monitoring
  • Java Management eXtentions

Day 2 Architecture

  • Planning for performance
  • Patterns and anti-patterns
  • Messaging
  • Architectures for performance

Day 3 Coding Best Practices

  • Big gains
  • user perceptions
  • Macro and micro benchmarking
  • Selected Java Libraries including String, I/O and Collections
  • XML parsing
  • Serialization
  • Concurrency

Day 4 Memory Management

  • Sun and IBM Java Virtual Machine heap spaces
  • Garbage collection algorithms
  • Object life-cycle
  • Garbage collection logging and monitoring
  • Heap tuning strategies