Expert Led Training Courses

About Jfokus Training: Get taught directly by the experts and interact with peers in an engaging informal environment. These are intensive, deep dive training sessions designed for advanced IT professionals which incorporate expert-led presentations.

Java Performance Tuning Workshop (5 days incl Jfokus conference day)

In this new expert-led course, you will learn a blend of tuning methodology, performance theory and practical tips on solving difficult performance problems. The tools learned are all freely available or open source and will equip you to immediately apply what you have learned in your workplace. No more suffering through slow, under performing applications. You will learn how to develop code with performance as the goal and the end user in mind.

Kirk Pepperdine

Kirk Pepperdine, Kodewerk

 

Led by Kirk Pepperdine - a recognized expert in Java Performance Tuning, Sun Java Champion, international speaker and trainer, and co-contributor to the successful Java Performance Tuning Newsletter - you'll learn in four days what would otherwise take years of self-study. Kirk has fixed numerous critical performance issues and has saved millions in lost revenue and downtime for his clients. Full of insight and packed with experience, this course can help you do the same.

 

Java Performance Tuning Workshop (5 days incl Jfokus conference day)

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 not 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

Outline

Day 1 Introduction to Performance

  • Defining performance and performance tuning
  • Performance tuning methodology
  • Model describing the system under investigation
  • Applications of the model to direct the tuning process
  • Importance of responsiveness
  • Effective use of monitoring in diagnosis performance problems
  • Performance testing
  • Load, stress, and endurance testing
  • Load test harnesses

Day 2 Consumers of the CPU

  • System monitoring
  • Tools for system monitoring
  • Memory management
  • Sun garbage collection
  • IBM garbage collection
  • Object life cycles
  • Monitoring garbage collection
  • Tools for garbage collection analysis

Day 3 Jfokus conference day!

Day 4 Latency

  • Tools to find latency
  • Inter-process communications monitoring
  • Tools for monitoring inter-process communications
  • JDBC monitoring
  • Threading and concurrent
  • Java Managment eXtentions (JMX)
  • Profiling tools
  • Execution profiling
  • Memory profiling
  • Memory leak characterization
  • Thread dump analysis

Day 5 Performance Tuning

  • Getting big gains first
  • Performance tuning tactics
  • Psychology of performance tuning
  • Micro benchmarking
  • Macro benchmarking
  • Factors that affect benchmarks
  • Analysis of benchmarking results
  • Review of collections
  • Serialization

.