GitHub
The Java Version Almanac
javaalmanac.io
Feedback on this page?

Java 9

Status End of Life
Release Date 2017-09-21
EOL Date 2018-03-20
Latest Version 9.0.4
Class File Version 53.0
Unicode Version 8.0.0
API Changes Compare to 8 - 7 - 6 - 5 - 1.4 - 1.3 - 1.2 - 1.1 - 1.0
Documentation Release Notes, Language Spec, VM Spec, JavaDoc
SCM git
In quite an opinionated move Java got its own module system. While the original idea was to modularize the enormous JDK API itself the Java Platform Module System (JPMS) is now considered as the standard way to bundle any library.

New Features

Here are all new features in Java 9 by category. There is also of list of all features of all Java releases.

Language

API

Tools

Internal

Should I Upgrade?

Java 9 is end-of-life since 2018-03-20. Unless you have a support contract for this version and a compelling reason to stay on the old version you should definitely upgrade to a newer version with active support.

Please consider upgrading to a current long term support LTS version Java 11, Java 17 or Java 21 to rely on a maintained platform and get advantage of the latest features and improvements.

Downloads

Vendor Product License Platform Downloads
AdoptOpenJDK AdoptOpenJDK GPLv2+CE
Azul Systems Zulu Builds of OpenJDK 9 GPLv2+CE
BellSoft Liberica GPLv2+CE
Oracle Oracle JDK 9 Commercial
Red Hat Red Hat build of OpenJDK 9 GPLv2+CE

Sandbox

Instantly compile and run Java 9 snippets without a local Java installation.

public class Java9 { public static void main(String[] args) { System.out.println("Hello " + String.class.getModule()); } }