[sales_countdown_timer id="salescountdowntimer"]

Extreme Java for Experts

Course Overview

Although Java is considered a relatively easy to use language, it has many sophisticated mechanisms and delicate points that are in many cases not fully utilized or even known to developers. Proper use of these mechanisms and “under the hood” structures greatly enhances code optimization and fine-tuning.
This advanced 3-day course focuses on these fine points and internal mechanisms and provides the “behind the scene” understanding of core Java libraries and the JVM internals. The knowledge gained in the course will significantly improve developers’ ability to write more efficient and robust code.
The course includes many examples and hands-on exercises through which the material is demonstrated and practiced. The course is based on Java 8.

  • Who should attend

    JavaSE/EE developers, team leaders, and Architects.

  • Prerequisites

    2 years experience in Java Programming.

Course Content

  • Multi-Threading and the JMM
    • Introduction.
    • The Java Memory Model.
    • Core Java threading.
    • functionality.
    • Advanced Synchronization Mechanisms (java.util.concurrent).
    • Fork/Join.
    • Working with CompletableFuture.
    • Third-party Concurrency Models (Akka vs. Vertx.io).


    Memory Management & GC
    • Introduction.
    • The GC Anatomy and Algorithms.
    • Reference Objects.
    • Buffers & Native Memory.
  • Generics, Streams & Collections
    • Understanding generics in and out.
    • Deep Dive into Lambdas.
    • Stream API.


    Overview on Third-Party Collections.
    • Classloading & Agents
    • Understanding Class Loaders in Java.
    • Agents, and Instrumentation.
    Performance & Monitoring
    • The JIT compiler and the HotSpot JVM.
    • String Handling, Exceptions.
    • JVM Tools (VisualVM & JMC, jstat & jmap).
    • Analyzing Heap Dumps.
    • Profiling Java Applications.

Want to improve your Java skills?

Skip to content