Engineering a Modern Java Platform
summary
Practical migration checklist for moving from JDK 8/11 to JDK 21–25: run jdeps, jdeprscan, jnativescan and JVM flags to list obsolete GC and logging options, internal-API and sun.misc.Unsafe usages, and split-package/module conflicts; expect immediate failures from removed security manager, Nashorn and EE APIs, and inaccessible object exceptions from stronger encapsulation; watch for invisible breakage — serialization UID mismatch, locale and charset (UTF‑8) changes, GC/compact-header performance shifts — and update dependencies.
AI-written summary · about
chapters (9)
- 0:00Java 8 to 25 migration
- 4:03Java 8 to 25 compatibility tools
- 13:19Java startup failures
- 16:54Post-startup crashes
- 25:40Java 25 behavioral changes
- 33:09Recompilation and serialization issues
- 39:45Dependency challenges and OpenRewrite
- 41:30Why upgrade to Java 25
- 42:13Q&A
related talks
44mEngineering a Modern Java Platform
49mJDK 8 to 25 Without the Pain - Engineering a Modern Java Platform
53mApproaching the JDK 25 LTS release through real-world migration
50mJDK 11: Pitfalls for the Unwary
49mJDK LTS Release Use Cases: When is a Java migration advisable?
46mJDK 9, 10 and 11: Pitfalls For The Unwary
46mBeam Me Up, Java! A Journey through Java LTS Versions 11 to 21
50mJava. Migrating to 11 in real app
