JDK 9 Language, Tooling and Library Features

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! 

Join the discussion

Comments ( 1 )
  • Muktesh mishra Thursday, October 13, 2016
    Please mention Modules and G1 GC as well.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.