Java 9 Gets Modular as More Frequent Releases Set to Debut | eWeek

Java 9 Debuts with Jigsaw Modular Approach at JavaOne

JavaOne Java 9 Keynote
Oct 3, 2017
3 minute read
eWeek content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

The Java Platform Standard Edition (Java SE) version 9 is now generally available bringing with it a number of new features to help make Java more modular and efficient. At the JavaOne conference in San Francisco on Oct. 2, Mark Reinhold Chief Architect, Java Platform Group at Oracle outlined some of the new Java 9 enhancements and provided insight on what’s next.

“Java 9 is here,” Reinhold said. “That means that Jigsaw is here.”

Project Jigsaw is an effort that Oracle has been talking about since September 2010, just after the company completed its’ acquisition of Sun Microsystems. Jigsaw is an effort to turn Java into a more modular stack, including a module subsystem to help make the programming language more efficient.


“In Project Jigsaw we set out to solve two fundamental problems in the Java platform,” Reinhold said. “One is the brittle and error prone Classpath, the other is the massive and monolithic JDK.”

Classpath is a parameter that specifies the location of classes and packages for a Java Virtual Machine (JVM) or a Java compiler, while the Java Development Kit (JDK) is the development environment for building Java applications. In Java 9, thanks to Jigsaw there is now a modular system that  replaces Classpath, as a more optimized, developer-intuitive model to specify package and library locations.

“The module system helps developers to escape from classpath hell because it provides a cleaner and safer alternative,” Reinhold said.

Reinhold added that when jar (Java ARchive) files are used, the modular system guarantees certain properties to developers when compiling or running code that can’t even be expressed in the classpath system. The first property that the Java 9 module system guarantees is reliable configuration.

“Reliable configuration means that if one module requires another, then that other module will be present and none of the modules that are present will conflict with any others,” Reinhold said.

The second core guarantee made by the new module system in Java 9 is strong encapsulation. Reinhold explained that with strong encapsulation, the code that is outside of a specific module can only access the classes and interfaces in the packages that have been explicitly exported by the module.

“This means you can conceal your internal APIs and change them whenever you want to,” Reinhold said.


JDK Refactoring

Overall Java 9 is likely to be significantly smaller for developers, thanks to the module system and a refactoring of the JDK itself to be more scaleable. Reinhold said that Oracle has taken the module system and applied to the Java platform itself as well.

“After years of painstaking refactoring, we have managed to divide the system up into a set of 26 standard Java SE modules,” Reinhold said.

So now instead of requiring a large monolithic installation to enable Java development, Reinhold said that with Java 9, developers can choose more optimized configurations. Using a new JDK configuration option called jlink, developers can now configure a customized runtime system that only uses the Java modules they need.

Reinhold noted that there are many new features in Java 9 and he doesn’t expect developers to embrace them overnight.

“It has been a long road to deliver Jigsaw and it will be a long road  to its wide adoption and that’s fine,” Reinhold said. “Many of you will make use of the new modular nature of Java 9 long before you use the module system in your own code.


Java 10

Looking beyond Java 9, Oracle has committed to a new development approach for what would have been called Java 10. Reinhold said that over the last 20 years, Java has evolved in large, irregular and somewhat unpredictable steps.

“Java needs to move forward faster,” Reinhold said “‘We’re now going to have a new release every six months on a strict time based model and features only go in when ready.”

The next major release of Java, will likely be named Java 18.3 and will be available in March 2018 and is set to be followed six months later with another release in September 2018. Reinhold said that there is already a pipeline of features big and small on the roadmap that will land in the new Java release model.

“We hope that all of this work will not just keep Java moving forward, but moving forward faster,” Reinhold said.

Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.

eWeek Logo

eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site's focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.