about this book
Java 9 introduced the Java Platform Module System (JPMS) to the language and ecosystem and made modularity primitives readily available to all Java developers. For most people, me included, these concepts are new, so this book teaches them from the ground up. It goes all the way from the motivation and basics to advanced features. More than that, it also helps you migrate your existing projects to Java 9+ as well as to incrementally modularize them if you want to do that.
Note that we do not set out to study modularity per se. This is a complex topic, and entire books have been written about it (for example, Java Application Architecture by Kirk Knoernschild [Prentice Hall, 2012]). But while we focus on putting modularity into action with the module system, you won’t be able to avoid learning about the reasons for doing so.
Who should read this book
The module system is an interesting beast. Its underlying principles and concepts are quite simple, yet its effects on the ecosystem aren’t. It’s not as immediately exciting as lambda expressions, but it will change the ecosystem just as thoroughly. In the end, all of that hardly matters, though. By now, it’s as much a part of Java as the compiler, the
private modifier, and the
if statement; and just as every developer needs to know those, they need to know about the module system.