
Performance optimization for the G1 garbage collector by using a Parallel Full GC New APIs for creating unmodifiable collections such as pyOf, Set.copyOf, and Map.copyOf var set = new HashSet() is now a valid expression.Ī new method orElseThrow has been added to the Optional class Local-Variable Type Inference using the keyword var, a way to automatically deduce the type of a local variable without declaring it. G1 is made the default garbage collector.Factory methods for collections, such as Set.of and List.of.
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