Press "Enter" to skip to content

Keeping up with Java 9, 10, 11, and Beyond

Nowadays, Java is changing fast, way faster than it used to in the past – new releases are happening every 6 months and not every few years. This training is dedicated to teams that want to receive┬ácondensed knowledge regarding recent changes in the Java ecosystem.


  1. Java Release Cadence
    1. Time-Based Release Versioning
    2. Version Name Scheme
  2. Overview of Recent Changes, and Java Future
  3. Java 9 Additions
    1. JPMS (Project Jigsaw)
    2. API Updates
    3. Unified JVM Logging
    4. Improved Contended Locking
    5. Variable Handles
    6. The Modular JDK
    7. JShell
    8. Multi-Release JAR Files
    9. Java-Level JVM Compiler Interface
    10. G1 GC
    11. Compact Strings
    12. StackWalking API
    13. Unified GC Logging
    14. SpinWait Hints
    15. Reactive Streams
  4. Java 10 Additions
    1. Local Variable Type-Inference
    2. API Updates
    3. Garbage-Collector Interface
    4. Parallel Full GC for G1
    5. Application Class-Data Sharing
    6. Thread-Local Handshakes
    7. Experimental Java-Based JIT Compiler (Graal)
  5. Java 11 Additions
    1. Epsilon: A No-Op Garbage Collector
    2. API Updates
    3. Local-Variable Syntax for Lambda Parameters
    4. HTTP Client
    5. Flight Recorder
    6. ZGC: A Scalable Low-Latency Garbage Collector
  6. Java 12 Additions
    1. API Updates
    2. JVM Constants API
    3. Switch Expressions (Preview)
    4. JMH Microbenchmark Suite
    5. Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
  7. Migrating from Java 8 to Java 11 and Above
  8. JDK Licensing Quirks

This is just a default outline, the actual agenda is always derived from the pre-training analysis.

Due to the scope of this particular subject, it can last between one and five days, depending on the chosen content.

Grzegorz Piwowarek


Excellent teacher, lots of exercises which go beyond the common stuff… and lots of additional exercises which you can explore after the workshop. I learned how to properly use “functional” java in my daily job. Thanks for the amazing workshop!

Grzegorz is really passionate – such people are always happy to listen to, he always learns well from such people and it also gives a nice motivational kick. In addition, you can see that he was also prepared to conduct training – both when it comes to preparing for classes, and that you can see that he is training in the field of didactics and tries to get people out as much as possible.

Greatly conducted training, very interesting. Knowledge has been given to us that you would not have taken 3 days to get on your own, but rather 3 months for practical use as well. Great preparation of materials, transfer of knowledge. One big plus.

If you enjoyed the content, consider supporting the site: