Introduction of the Reactive Streams compliant Flow API.They can be used for example by the default methods of an interface to refactor code Private methods can be defined in interfaces.Multi-Release JAR Files: Enables multiple, Java release-specific versions of class files to coexist in a single archive.Can be used to interactively evaluate input code and print the results jshell is a Read-Eval-Print Loop (REPL) tool for the Java platform.The jlink tool is used to assemble modules and their dependencies into a reduced runtime package, and perform optimizations during the new link time phase after the compile time phase.The JDK itself has been divided into a set of modules The Java Platform Module System introduces a new kind of Java programing component, the module, which is a named, self-describing collection of code and data.Key features and changes since Java 8 Java 9