Modular Development with JDK 9 and Beyond
summary
JDK 11 ships a module system that enforces strong encapsulation (public types in non-exported packages are inaccessible) and reliable dependencies (resolution at compile‑ and run‑time, no split packages, no cycles). Migration uses jdeps to infer requires and automatic modules to wrap legacy jars, and jlink to build a custom runtime. Real-world friction: GlassFish fails with an illegal‑access error when it touches non‑exported JDK internals, and removal of Java EE modules cuts ~800k lines from OpenJDK.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:12Modular Development with JDK 11
- 10:42Reusing a Module
- 13:14The unit of reuse is the unit of release.
- 14:41Running a Modular Application
- 20:48Typical application
- 22:29Running the application
- 27:53Automatic modules
- 34:18Custom Java Runtimes








