Reviewing Java's platform module system [JEP-200]

The core aim of JEP-200 was to modularize the Java Development Kit (JDK) using the Java Platform Module System (JPMS). Prior to Java 9, our familiarity with the JDK includes awareness of its major components:

  • Java runtime environment (JRE)
  • The interpreter (java)
  • Compiler (javac)
  • The archiver (jar)
  • Document generator (javadoc)

The task of modularizing the JDK was to break it into components that could be combined at compile time or runtime. The modular structure is based on the following modular profiles established as compact profiles in Java 8. Each of the three profiles is detailed in the following tables:

Compact profile 1:

java.io java.lang.annotation java.lang.invoke
java.lang.ref ...

Get Java 9: Building Robust Modular Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.