JDK 9, 10, and 11: Pitfalls for the Unwary
summary
Module system breaks the JDK into modules and encapsulates internal APIs so code or libraries that use sun.misc.Unsafe or other internals suddenly fail unless reopened with flags such as --illegal-access=permit or selective --add-exports and --add-opens. jdeps reveals module and internal-API dependencies and jlink can build a trimmed runtime. JDK 9 removes six deprecated methods, JDK 10 adds local type inference with var, JDK 11 drops Java Web Start and many tools and changes Oracle JDK licensing, all causing real recompilation, runtime failures, or packaging work.
AI-written summary · about
chapters (26)
- 0:00Intro
- 1:56JDK Compatibility
- 5:26JDK 9 Onwards And Compatibility
- 6:24Java Platform Module System (JPMS)
- 10:03Migrating Applications to JPMS
- 12:14Classpath v Modulepath
- 13:08Reversing Encapsulation
- 16:59Finding Dependencies: jdeps
- 21:27Using "Missing" Modules
- 22:39Milling Project Coin (JEP 213) • A single underscore is now a keyword in Java
- 23:55Deleted Deprecated Methods
- 25:36Deleted Deprecated Class
- 26:06Finding Deprecated API Use
- 26:56JDKIJRE File Structure (JEP 220)
- 28:45New Version String Format (JEP 223)
- 31:38Non-Programmatic Issues Java Network Launch Protocol NLPSR 52
- 33:02Removed GC Options (JEP 214)
- 34:53Replaced JVM Flags
- 35:33Deprecated JVM Flags
- 35:55JVM Flags: Non-Starters
- 36:37Local Variable Type Inference
- 37:39Deprecated Things Removed
- 39:09Command Line Flags
- 41:09Major Absent Features
- 44:53Command Line-XX Flags
- 46:27Zulu Java








