Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Modular Programming in Java 9

You're reading from   Modular Programming in Java 9 Build large scale applications using Java modularity and Project Jigsaw

Arrow left icon
Product type Paperback
Published in Aug 2017
Publisher Packt
ISBN-13 9781787126909
Length 298 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Koushik Srinivas Kothagal Koushik Srinivas Kothagal
Author Profile Icon Koushik Srinivas Kothagal
Koushik Srinivas Kothagal
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Introducing Java 9 Modularity FREE CHAPTER 2. Creating Your First Java Module 3. Handling Inter-Module Dependencies 4. Introducing the Modular JDK 5. Using Platform APIs 6. Module Resolution, Readability, and Accessibility 7. Introducing Services 8. Understanding Linking and Using jlink 9. Module Design Patterns and Strategies 10. Preparing Your Code for Java 9 11. Migrating Your Code to Java 9 12. Using Build Tools and Testing Java Modules

Rethinking package structure

The fact that you are required to export package names from modules has an interesting implication on the way we organize our types into packages in Java 9. Historically, the package construct has been used by Java developers to provide namespaces for Java types. While these namespaces created by package names serve the purpose, at least in theory, to prevent type name collisions and to affect visibility of package-private member variables and types, they also serve a slightly more informal purpose of grouping related types for search-ability and maintainability of code.

There's an additional significance to packages in Java 9 that affects how you group your classes and other types into packages--visibility outside modules. For instance, if you need to hide type A within a module and export type B to outside the module, you are essentially required...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image