In this chapter, you will learn:
What modules are
How to declare modules
What the implicit readability of a module means and how to declare it
The difference between unqualified and qualified exports
Declaring the runtime optional dependency of a module
How to open an entire module or its selected packages for deep reflection
Rules on splitting packages across modules
Restrictions on module declarations
Different types of modules: named, unnamed, explicit, automatic, normal, and open modules
Knowing about modules at runtime
How to disassemble a module’s definition using the javap tool
The code ...