# Java Modules

* Java modules add a higher level of aggregation above packages
* Defined in [Java Platform Module System (JSR 376)](https://openjdk.java.net/projects/jigsaw/spec/)
* Related - [JEP 200: The Modular JDK](https://openjdk.java.net/jeps/200)
* Availble modules can be listed using - `java --list-modules`
* With modules there are new restricted keywords: open, module, requires, transitive, exports, opens, to, uses, provides, and with (<https://stackoverflow.com/questions/36322223/new-keywords-in-java-9>)

## Resources

* <https://www.oracle.com/corporate/features/understanding-java-9-modules.html>
* <https://www.baeldung.com/java-9-modularity>
* <http://tutorials.jenkov.com/java/modules.html>
