Modularity is a general concept. In software, it applies to writing and implementing a program or computing system as a number of unique modules, rather than as a single, monolithic design. A standardized interface is then used to enable the modules to communicate.
A module descriptor is the compiled version of a module declaration that's defined in a file named module-info. java .
located in com.mycompany.mypackage directory.
There's no sub-modules within modules.
com.mycompany.mypackage.api module could not be placed under com.mycompany.mypackage.