Book description
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.
Table of contents
- Titlepage
- Copyright
- brief contents
- 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
- 1.1 What is modularity all about?
- 1.2 Module erasure before Java 9
-
1.3 Complications before Java 9
- 1.3.1 Unexpressed dependencies between JARs
- 1.3.2 Shadowing classes with the same name
- 1.3.3 Conflicts between different versions of the same project
- 1.3.4 Complex class loading
- 1.3.5 Weak encapsulation across JARs
- 1.3.6 Security checks have to be handcrafted
- 1.3.7 Poor startup performance
- 1.3.8 Rigid Java runtime
- 1.4 Bird’s-eye view of the module system
- 1.5 Goals of the module system
- 1.6 Skills, old and new
- Summary
-
Chapter 2: Anatomy of a modular application
- 2.1 Introducing ServiceMonitor
- 2.2 Modularizing ServiceMonitor
- 2.3 Cutting ServiceMonitor into modules
- 2.4 Laying out files in a directory structure
- 2.5 Declaring and describing modules
- 2.6 Compiling and packaging modules
- 2.7 Running ServiceMonitor
- 2.8 Extending a modular code base
- 2.9 Post mortem: Effects of the module system
- Summary
- Chapter 3: Defining modules and their properties
- Chapter 4: Building modules from source to JAR
- Chapter 5: Running and debugging modular applications
-
Chapter 1: First piece of the puzzle
-
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 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
- List of Figures
- List of Tables
- List of Listings
Product information
- Title: The Java Module System
- Author(s):
- Release date: July 2019
- Publisher(s): Manning Publications
- ISBN: 9781617294280
You might also like
book
Effective Java, 3rd Edition
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
The Staff Engineer's Path
For years, companies have rewarded their most effective engineers with management positions. But treating management as …
book
Modern Software Engineering: Doing What Works to Build Better Software Faster
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David …