Project Jigsaw in JDK 9: Modularity Comes To Java
summary
Project Jigsaw makes Java modular in JDK 9 by enforcing hard encapsulation of internal APIs (a JEP 260 compromise splits critical vs non‑critical), removing six methods to break undesirable package links, and adding module metadata via module‑info.java. Migration tools include jdeps to find internal usages and jlink to build smaller runtime images; unnamed and automatic modules let legacy jars run without immediate rewrites. Reflection cannot bypass encapsulation and version selection is explicitly not solved.
AI-written summary · about
chapters (27)
- 0:00Intro
- 3:00JDK 9: Incompatible Changes
- 6:39JDK Internal API Classification
- 8:25JEP 260 Proposal
- 9:29Reviewing Your Own Code
- 13:01Module Fundamentals
- 14:18Module Declaration
- 16:16Module Dependency Graph
- 17:26Readability v. Dependency
- 19:21Module Implied Readability Graph
- 19:51Package Visibility
- 24:14Java Accessibility (pre-JDK 9)
- 24:47Java Accessibility (JDK 9)
- 25:36JDK 8 Dependencies
- 29:02JDK 9 Platform Modules
- 30:30Compilation With Module Path
- 31:09Packaging With Modular JAR Files
- 31:46JAR Files & Module Information
- 33:25Linking An Application
- 35:17Typical Application (JDK 9)
- 36:47Sample Application
- 36:59Run Application With Classpath
- 37:44Application module-info.java
- 38:30Automatic Modules
- 39:06Application Module Dependencies
- 39:55Run Application With Modules
- 41:21Further Information
related talks
51mJava - Integrity by Default
04mHow it felt like
48mHidden Security Features of the JVM - Everything You Didn’t Know and More
28mOpening the JAR: The Hitchhiker's Guide to JAR File Dependencies
46mIntegrity by Default
43mSecurity Architecture of the Java Platform
28mOpening the JAR: The Hitchhiker's Guide to JAR File Dependencies
44mPractical security in a modular world
