JVM internals and performance tuning

Course Abstract

JVM deployments are common nowadays in enterprises of any size. Many of those installations handle millions of transactions per day and need tuning to their highest potential.

This 2-day training dives deep into the JVM internals and tool set offered by JVM’s eco-system. It also describes possible scenarios that may arise during production system support. Understanding of JVM internal architecture may help developers to write code that is more efficient; performance analysis and tuning of JVM parameters may help operations team to quicker find and report problems.

Topics Covered

Introduction: what is a VM?

History of Java

Detailed JVM architecture:

  • specifications
  • byte code
  • memory model
  • class loader model
  • garbage collection
  • JIT
  • agents
  • monitoring standards


Performance analysis tuning

  • Types and patterns of garbage collection
  • JMX and monitoring tools:
  • JConsole
  • VisualVM

  • Thread dump collection and analysis tools
  • Profiling tools:
  • VisualVM
  • YourKit
  • Memory analysis tools:
  • Eclipse MAT
  • Censum
  • VisualVM
  • YourKit



Students must have a few years of Java software development or support experience.

Target Audience

The training is aimed at Java developers with several years of experience looking to deepening their JVM knowledge and system administrators looking to improving their JVM performance tuning skills.

Learning Objectives

  • Understand JVM internals
  • Use profilers and monitoring tools
  • Analyze memory and thread dumps
  • Measure and tune GC parameters
  • Create performance test suites

Contact Lund&Bendsen with our contact form or, call us (+45) 33 861 861 for more information.