Getting to know the module system [JEP-261]
The purpose of this JEP was the implementation of the new module system for the Java platform. You will recall that the modular system was created to provide reliable configuration and strong encapsulation for Java programs. Key to this implementation was the concept of link time. As illustrated here, link time is an optional phase in between compile time and runtime. This phase allows the assembly of the appropriate modules into an optimized runtime image. This is possible, in part, due to the jlink linking tool which you will learn more about later in this chapter:
Module paths
It is important to organize modules so that they can be easily located. The module path, a sequence of module components or directories, provides the organizational structure used by searches. These path components are searched for in order, returning the first path component that comprises a module.
Modules and their paths should not be considered to be the same as packages...