
- 440 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
The Java Module System
About this book
Summary Java'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 Technology Packaging 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 Book The 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 inside
- The anatomy of a modular Java app
- Building modules from source to JAR
- Migrating to modular Java
- Decoupling dependencies and refining APIs
- Handling reflection and versioning
- Customizing runtime images
- Updated for Java 11
About the Reader Perfect for developers with some Java experience. About the Author Nicolai Parlog is a developer, author, speaker, and trainer. His home is codefx.org. Table of Contents
PART 1 - Hello, modules
- First piece of the puzzle
- Anatomy of a modular application
- Defining modules and their properties
- Building modules from source to JAR
- Running and debugging modular applications
PART 2 - Adapting real-world projects
- Compatibility challenges when moving to Java 9 or later
- Recurring challenges when running on Java 9 or later
- Incremental modularization of existing projects
- Migration and modularization strategies
PART 3 - Advanced module system features
- Using services to decouple modules
- Refining dependencies and APIs
- Reflection in a modular world
- Module versions: What's possible and what's not
- Customizing runtime images with jlink
- Putting the pieces together
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Table of contents
- The Java Module System
- Copyright
- dedication
- contents
- front matter
- Part 1. Hello, modules
- 1 First piece of the puzzle
- 2 Anatomy of a modular application
- 3 Defining modules and their properties
- 4 Building modules from source to JAR
- 5 Running and debugging modular applications
- Part 2. Adapting real-world projects
- 6 Compatibility challenges when moving to Java 9 or later
- 7 Recurring challenges when running on Java 9 or later
- 8 Incremental modularization of existing projects
- 9 Migration and modularization strategies
- Part 3. Advanced module system features
- 10 Using services to decouple modules
- 11 Refining dependencies and APIs
- 12 Reflection in a modular world
- 13 Module versions: What’s possible and what’s not
- 14 Customizing runtime images with jlink
- 15 Putting the pieces together
- Appendix A. Class-path recap
- Appendix B. High-level introduction to the reflection API
- Appendix C. Observing the JVM with unified logging
- Appendix D. Analyzing a project’s dependencies with JDeps
- Appendix E. Targeting multiple Java versions with multi-release JARs
- Index
- Lists of Figures, Tables and Listings