Learning paths

Upgrade from Java 8 to Java 25

What changed after Java 8 and how to use it: var, switch expressions, text blocks, records, pattern matching, the HTTP client, modules and virtual threads.

  • For: You work on an older codebase and want to use modern Java.
  • By the end: You can modernise a Java 8 codebase and plan the upgrade with confidence.
  • Size: 15 lessons (46 min of reading, plus time to try the code), intermediate
  1. Control flow and the modern switchJava fundamentals, beginner, 3 min
  2. Strings, StringBuilder and text blocksJava fundamentals, beginner, 4 min
  3. Records, enums and sealed typesObject-oriented programming, intermediate, 3 min
  4. Immutable objectsObject-oriented programming, intermediate, 3 min
  5. Lists, sets and queues in practiceCore APIs, intermediate, 3 min
  6. Collectors: grouping, partitioning and joiningModern Java, intermediate, 3 min
  7. Calling APIs with the Java HTTP ClientModern Java, intermediate, 3 min
  8. Modules (JPMS)Modern Java, advanced, 3 min
  9. Virtual threadsConcurrency and the JVM, advanced, 3 min
  10. Concurrency utilities: latches, semaphores and atomicsConcurrency and the JVM, advanced, 3 min
  11. JVM memory and garbage collectionConcurrency and the JVM, advanced, 3 min
  12. Class loading and the JIT compilerConcurrency and the JVM, advanced, 3 min
  13. JSON with JacksonTools and testing, intermediate, 3 min

Other paths