Understanding modular run-time images [JEP-220]
Java 9's modular system required changes to the runtime images for compatibility. Benefits of these changes include enhancements in the following areas:
- Maintainability
- Performance
- Security
Core to these changes was a new URI schema used for resource naming. These resources include modules and classes.
Note
A Uniform Resource Identifier (URI) is similar to a URL (Uniform Resource Locator) in that it identifies the name and location of something. For a URL, that something is a web page; for a URI, it is a resource.
There were five primary goals for JEP-220 and these are detailed in the following sections.
Runtime format adoption
A run-time format was created for Java 9, for adoption by stored classes and other resource files. This format is applicable for stored classes and resources under the following circumstances:
- When the new run-time format has greater efficiencies (time and space) than the pre-Java 9 JAR format.
Note
A JAR file is a Java ARchieve...