After working on “Java 9 Modularity” together with Sander Mak for almost two years, it has now been published by O’Reilly. Both digital and printed versions are available everywhere. The release of the book lines up perfectly with the release of Java 9 itself, which is due in a few weeks. Java 9 is a major milestone for Java, it’s the start of a new era for the platform. It’s also the biggest change to the platform we’ve seen in Java to date. The module system impacts how developers design, structure and write their code. The JDK itself has also been restructed into modules, using the exact same module system exposed to developers. While the changes to the JDK structure are probably not going to affect you a lot directly, it is a critical step for the future of Java.

In the past two years there has been sceptism about how the module system would potentially break the Java eco system. There is no reason to be afraid of Java 9 however. The JDK team did a great job in keeping backward compatibility for existing code, while adding a very clean module system with strict encapsulation rules. The module system includes some great features to smoothen migration for existing code to the module system. Our book has multiple chapters dedicated to migrating existing code, ranging from just running existing code on Java 9, to mixing modules and non-modular libraries, and redesigning code and libraries entirely to increase maintainability and extensibility.

A complete overview of the chapters in the book can be found on our website: javamodularity.com.

If you happen to go to JavaOne you can get a taste of all this module goodness as well. Sander and I have a total of three talks that are related to Java 9 and the topics in the book.

Designing for Modularity With Java 9 (CON2606)

Modules or Microservices (CON1450)

Migrating to Java 9 Modules (CON1455).

On top of that we’ll have a few book signings during the conference (free books!).