Java's modular system, introduced in Java 9, required changes to the runtime images for compatibility. The 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.
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.