In addition to modularity, the main new feature in JDK 9, there are other changes in the language, tools, and libraries. JDK engineer Joe Darcy gives an overview of those smaller but vital changes to the Java SE platform in his talk ‘JDK 9 language, tooling and library features”. All those improvements can be implemented outside of the module systems. They are relevant to any Java developers.
As you probably know, Java 9 still supports classpaths and your application should run on Java 9 as long as you are using APIs that are supported and intended for external use. If you have doubts, please read “Removed or Changed APIs”
Darcy explains how the Java SE backward compatibility implies compatibility for binary, source, and behavioral changes. Each platform release has a compatibility guide just as there is for Java 8. For JDK 9 make sure to check the developer's guide on OpenJDK.
Also worth noting is the Java SE platform deprecation process with some advanced notifications in previous releases. In JDK 9, JEP 277 enhances the @Deprecated annotation providing finer-grained information to tools about the deprecation status of an API. JEP 277 details the notification process, the status and intended disposition of APIs, and lists tools to track an application’s static usage of deprecated APIs.
Now, to help you find the most relevant information for your projects, see the video chapters below:
Java 9 has new and improved tools:
JShell - REPL (9:48)
Java Doc (13:46) Java Doc new features: Doclint package filtering, updated Doclet API and a new Javadoc Search
Getting from one JDK release to another (17:15)
Multi-release jar files - JEP 238
Java 9 has new Languages Changes that are not related to modules:
Milling Project Coin (23:28)
Diamond with anonymous classes, take two
An underscore is no longer an identifier name
Private interface methods
Deprecation and imports
Java 9 has also library updates:
New Version-String Scheme (35:53)
Process API Updates (36:33)
Strings and string concatenation (36:39)
Security Libraries (38:17)
Client Libraries and FX (39:32)
Convenience factory methods for collections (40:26)
More information about module system and JDK 9 can be found online:
JEP 261: Module System
JEP 200: The Modular JDK
JDK 9 release
Release notes
Java 9 expert insights
JDK 9 documentation
Migration guide
Java SE & JDK 9 API Specification
Oracle JDK 9 and JRE 9 Certified System Configurations
Crypto Roadmap
Related blog:
Two editions of Java Magazine are dedicated to Java 9. Register for free!
Yolande Poirier manages the online experience for the world's biggest IT community. She empowers developers to successfully grow their projects, businesses, and careers. Telling the story of how people use technology, she curates technical content, interviews IT professionals around the world, and write blogs about Java technologies and projects. She is a speaker at international conferences and JavaOne Rock Star, this year's track lead of the developer community day and a long time member of @jduchess, a network of women in Java. She manages @Java, a network of over 350,000 developer enthusiasts.