As you probably know, Java SE 9 is feature complete and the ramp down process has started. This will be an important release introducing a module system to the Java platform proposed for July 2017. Available now is the early draft review specification, which was released this month.
Now is the time to get ready and make sure that your code will work with JDK 9. Hopefully, you have seen this information before.
To get you started, Java Architect Alan Bateman presented the session 'Prepare for JDK 9' at the last JavaOne. It explains the deprecation process, encapsulation, unsupported APIs, how to test your code and more.
In addition to his presentation, you will need to deep dive into the JEPs and tools that he mentions.
Backward compatibility remains a priority with this new release as with all previous releases. As in the past, a notification system is in place when the APIs are being deprecated. JEP 277 on enhanced deprecation explains this process, the status and the intended disposition of APIs.
Most internal APIs will be inaccessible by default, but some critical, widely-used internal ones will remain accessible until supported replacements exist. JEP 260, about encapsulating most internal APIs, describes which critical internal APIs will remain accessible.
You may not be aware that your applications are using JDK-internal APIs because you depend on a third party library that uses such APIs, for example. Use Jdeps, Java dependency analysis tool, to identify those APIs. The tool also proposes suggestions for replacements when available. Check out the Jdeps main page.
Can’t emphasize this enough: test your applications with JDK 9 early access release. Download the Java 9 early access today.