SummaryJava's much-awaited "Project Jigsaw" is finally here! Java 11 includes a built-in modularity framework, and The Java Module System is your guide to discovering it. In this new book, you'll learn how the module system improves reliability and maintainability, and how it can be used to reduce tight coupling of system components.Foreword by Kevlin Henney.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. You'll find registration instructions inside the print book.About the TechnologyPackaging code into neat, well-defined units makes it easier to deliver safe and reliable applications. The Java Platform Module System is a language standard for creating these units. With modules, you can closely control how JARs interact and easily identify any missing dependencies at startup. This shift in design is so fundamental that starting with Java 9, all core Java APIs are distributed as modules, and libraries, frameworks, and applications will benefit from doing the same.About the BookThe Java Module System is your in-depth guide to creating and using Java modules. With detailed examples and easy-to-understand diagrams, you'll learn the anatomy of a modular Java application. Along the way, you'll master best practices for designing with modules, debugging your modular app, and deploying to production.What's insideThe anatomy of a modular Java appBuilding modules from source to JARMigrating to modular JavaDecoupling dependencies and refining APIsHandling reflection and versioningCustomizing runtime imagesUpdated for Java 11About the ReaderPerfect for developers with some Java experience.About the AuthorNicolai Parlog is a developer, author, speaker, and trainer. His home is codefx.org. Table of ContentsPART 1 - Hello, modulesFirst piece of the puzzleAnatomy of a modular applicationDefining modules and their propertiesBuilding modules from source to JARRunning and debugging modular applicationsPART 2 - Adapting real-world projectsCompatibility challenges when moving to Java 9 or laterRecurring challenges when running on Java 9 or laterIncremental modularization of existing projectsMigration and modularization strategiesPART 3 - Advanced module system featuresUsing services to decouple modulesRefining dependencies and APIsReflection in a modular worldModule What's possible and what's notCustomizing runtime images with jlinkPutting the pieces together
Up front: I'm a bit biased here as I was the Technical Development Editor and contributed a bit to this book. However, it is an excellent book.
When I started reading, I wondered how one could write a whole book about the Java Module System. Well you can. This book reminded me a little of the O'Reilly Regular Expression book. If you want to understand the topic just enough to get started, you can read just a little. If you want to understand it in depth, you can read the whole book.
I really liked the examples and migration strategies in this book. I didn't know much about the module system starting out. By the time I finished the book, I knew a good amount. Then I didn't use it and forgot.
This year, I took both OCP Java certification exams. As both covered modules, I used this book to study the topic. It came back right away and I am recommending chapters in this book to those studying for the certification. (Until study guides come out.) Conveniently, Manning allows buying parts of a book.
If you want to learn about modules rather than just pass the cert, you should buy the whole book though! You'll learn a lot; even in the appendixes.