The Java Module System
Authors: Nicolai Parlog
ISBN-10: 1617294284
ISBN-13: 9781617294280
Edition 版次: 1
Publication Date 出版日期: 2019-07-23
Print Length 页数: 440 pages
Book Description
By finelybook
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.
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.
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
contents
Dedication
foreword
preface
acknowledgments
about this book
about the author
about the cover illustration
Part 1: Hello,modules
Chapter 1: First piece of the puzzle
Chapter 2: Anatomy of a modular application
Chapter 3: Defining modules and their properties
) Chapter 4: Building modules from source to JAR
Chapter 5: Running and debugging modular applications
Part 2: Adapting real-world projects
Chapter 6: . Compatibility challenges when moving to Java 9 or later
Chapter 7: Recurring challenges when running on Java 9 or later
Chapter 8: Incremental modularization of existing projects
Chapter 9: Migration and modularization strategies
Part 3: Advanced module system features
Chapter 10: Using services to decouple modules
Chapter 11: Refining dependencies and APIs
Chapter 12: Reflection in a modular world
Chapter 13: Module versions: What’s possible and what’s not
Chapter 14: Customizing runtime images with jlink
) Chapter 15: Putting the pieces together
appendix A: Class-path recap
appendix B: High-level introduction to the reflection APl
appendix C: Observing the JVM with unifhed logging
appendix D: Analyzing a project’s dependencies with JDeps
appendix E: Targeting multiple Java versions with multi-release JARs
Index
List of Figures
List of Tables
List of Listings