With training courses such as performance tuning, it is very important that our trainers have decades of professional experience in Java projects and therefore have practical experience and knowledge, which is indispensable for such practically oriented training courses.

In this training you will learn to understand Java's Garbage Collector, to look into Java Runtime memory using various tools and to understand the information acquired. Using this information, you will learn how to track down memory leaks and identify performance deficits in an application.

Our trainers always give you the opportunity to influence the content of the training and are happy to bring examples that would help you best for your specific situation in your company

  • Structure of the JVM


    • How the heap, metaspace, stack works
    • How garbage collection works
    • Explanation of the different garbage collectors of the JVM (single threaded, parallel, concurrent mark sweep, G1)
    • How the HotSpot compiler works


  • Monitoring the JVM


    • Command line tools for monitoring the JVM
    • UI tools for monitoring the JVM
    • Remote monitoring including encryption and authentication


  • Monitoring of heap memory and garbage collection


    • Memory leak detection
    • Avoid overflowing the metaspace
    • Detection of high lock contention
    • Deadlock detection


  • Creating heapdumps


    • Analysis of heap dumps
    • Anfertigen von Threaddumps
    • Analysis of thread dumps


  • Configuration of the JVM


    • Configuration of the heap and stack
    • Configuration of garbage collection
    • Go through all documented JVM configuration options


  • Profiling the JVM


    • Profiling with JVisualVM
    • Profiling with Java Mission Control and Flight Recorder


  • Recognizing IO problems


    • Identifying multithreading problems
    • Identify critical application parts


  • Tomcat


    • Monitoring Tomcat specific parameters
    • Configuration of thread pools and database connection pools
    • Other configuration options


  • Load testing with Apache JMeter


    • Load generators and measurement of the response time behavior with Apache JMeter


  • Configuration of the JVM under Kubernetes


    • Resource restriction configurations in Kubernetes
    • Special features when operating the JVM under Kubernetes / Docker


  • GraalVM


    • Installation and configuration of the GraalVM
    • Performance tests to compare with the Hotspot VM
    • Native compilation of Java applications with the GraalVM


  • exercises


  • In the training, the participants are continuously given exercises in which they simply have to analyze applications with the knowledge they have acquired and thus find out the respective problems of the application.

Target group

  • Developers
  • Admins