Java Performance Tuning Course


  • In this course, the attendees will learn how to develop Java software applications with performance as a first-class quality attribute.
  • The course is an intensive training targeting passionate Java software developers who are looking to expand their knowledge to discover how to write better code, profile, and tune Java applications.
  • It covers topics like JVM architecture, runtime execution engine, memory structure, garbage collectors, JVM tuning and profiling, analyzing case studies from a performance standpoint, and revealing performance code best practices (tips and tricks).
  • The course is a blend of lectures, code samples analysis, and profiling and tuning case studies.


  • Java Virtual Machine Architecture
  • ClassLoader, [Dynamic][Application] Class Data Sharing
  • Execution Engine (e.g. Interpreter, Just In Time Compiler, Ahead of Time Compiler)
  • Java Memory Structure (e.g. Stack, Heap, Metaspace, Code Cache, Direct Memory)
  • Java Garbage Collections (e.g. Serial GC, Parallel GC, G1 GC, ZGC, Shenandoah GC, Epsilon GC)
  • Garbage Collection Friendly Programming Tips & Tricks
  • JVM Tuning
  • JVM Profiling
  • Performance Friendly Programming Tips & Tricks


  • 16 hours

Target Audience

  • Java developers
  • JVM performance geeks
  • technical leaders
  • software architects

Attendees’ Feedback

I managed to understand how the JVM and the garbage collector works, I learned to do profiling for applications, I understood how the memory works and I received some tips and tricks to improve myself as a programmer. Overall this training is very useful.
This has been the best course in the Java area I ever attended. The trainer was more than qualified, he organized the course so that it would be easy for attendees of any level, to understand the basic concepts behind the subject.
A lot of useful information about the JVM. All this information can be used in my daily programming activity. Also, I learned new tools that will help me to troubleshoot memory issues in the future.
The training was awesome. It covered things that people don’t usually learn about, but are useful, like JVM internals. The most useful for me was the profiling techniques in the context of all the other JVM internal explanations.
Excellent training, the instructor is very knowledgeable and well-prepared, and has visibly put a lot of effort into organizing the course and creating the course materials.

People from the following companies attended my courses:


Note: At the moment this course is available only for companies, teams, or groups of students. The individual subscription (i.e. single person) is not an option at the moment.