DevNation sneak peek is a behind-the-scenes preview of sessions and information that will take place at DevNation 2016. Sign up for DevNation at www.devnation.org. Learn more. Code more. Share more. Join the Nation.

Java 9 modularity in action

With Java 9, modularity comes to your doorstep (whether you ordered it or not). This isn't your average language feature: making the most out of it may involve rewiring your brain. But it’s exciting news! Because who doesn’t like more reliable and secure applications, meanwhile killing the dreaded classpath?

Some of you may have heard of Dante’s Inferno, mistakenly described as “the nine circles of hell”. As every experienced Java programmer knows, this description missing is the worst circle of them all: “Classpath Hell”.

Classpath Hell is brought upon us because Java doesn’t support the concept of modules. This is bad, because modularity is one of the oldest but still one of the most important design concepts when building anything beyond trivial applications. We need strong encapsulation to prevent leaking implementation details, which would cause hard to fix dependencies later. We also need a mechanism to express dependencies between modules to verify if an application contains all types required to run the application (and avoid the dreaded runtime ClassNotFoundExceptions and friends)

Java 9 is going to radically change this. Modules will become part of the language, and the classpath will be replaced by a much stricter modulepath. This first of all requires us to start thinking in a modules. It also requires work to move existing code to a more modular world.

DevNation will be the perfect place to prepare for Java 9.

Monday
3:45 p.m. to 4:45 p.m.
Room 132

About the presenters:

Sander and Paul are currently working with O’Reilly to get “Java 9 Modularity” published early 2017.

The focus on modularity isn’t strange to them. Paul has previously co-authored “Modular Cloud Apps with OSGi” for O’Reilly and both have been using OSGi for years. Java 9 is bringing the same principles to all Java developers.

 

 

Last updated: February 6, 2024