This book covers modularity features in Java 9--an important new change to the Java programming language. We'll look at its impact on Java development and how you can use it to build powerful modular applications. The Java 9 release also comes with a few other changes, such as support for HTTP 2.0 and a shell called jshell that lets you run Java code snippets in a Read-Eval-Print-Loop (REPL). While these are exciting new changes, they are not the focus of this book. We will be primarily focusing on the modularity features, which are arguably the most important and powerful among all the new changes with the Java 9 release.
This chapter provides an introduction to the new module features in Java 9 by covering the following topics:
- Examining two important structural and organizational problems when building Java applications today, and their implications
- Why does Java even need modularity features? What are we missing right now? And what do we gain from modularity?
- Introducing the Java Platform Module System (JPMS)
- Understanding the benefits that the Java modular system aims to provide