The core aim of JEP-200 was to modularize the JDK using the Java Platform Module System (JPMS). Prior to Java 9, our familiarity with the JDK includes awareness of its major components:
- The JRE
- The interpreter (Java)
- The compiler (Javac)
- The archiver (JAR)
- The 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 | java.lang.reflect | java.math |
java.net | java.nio | java.nio.channels |
java.nio.channels.spi | java.nio.charset | java.nio.charset.spi |
java.nio.file | java.nio.file.attribute | java.nio.file.spi |
java.security | java... |