Extreme Java for Experts

Abstract

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. A proper use of these mechanisms and “under the hood” structures greatly enhances code optimization and fine tuning.
This advanced 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.

Target Audience

JavaSE/EE developers, team leaders and Architects

Prerequisites

2 years’ experience in Java Programming

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

 

Duration

3 days

Next public course

19/02, 20/02, 21/02/2018

Enroll Now
Contact us
Share: