Oracle is ready to launch the next version of Java in March of this year. Java 12 has been in the launch phase since February 7th. The stable version of Java 12 is expected to be released on March 19th.
The Java 12 release will be followed by the general availability of JDK 12. Many developers have already tested the jdk / jdk12 stabilization repository. Collaborators have worked hard to fix known and unknown JDK 12 bugs. Here is the list of new features expected in Java 12:
The new JDK gets a basic set of micro-criteria. The suite has been added to allow developers to more easily run existing micro-criteria or create new ones.
Shenandoah, a short break crumb (GC), is a new garbage collector that reduces GC break times by performing evacuation work while running Java threads. This GC is currently an experimental feature.
Switching expressions: The switch expression is an extension of the switch instruction that can be used as a declaration or expression. Oracle indicates that both forms can use traditional or simplified scoping and control flow analysis. The preview feature will simplify daily coding and prepare developers to use pattern matching techniques on the switch.
JVM Constraint API: The API models the nominal description of key class files and artifacts at run time.
An AArch64 port: Oracle will start deleting all sources related to the arm64 port. The company will keep only the 32-bit ARM port and the 64-bit aarch64 port. Eliminating the arm64 port will help employees to encourage their efforts in one implementation.
Default CDS files: To improve the JDK compilation process to create a shared data file (CDS), the new default system improves the start time.
Mixed collections available for G1: this allows to abandon mixed collections if they exceed the pause target.
Return unused committed memory from G1- Oracle wants to enhance the G1 GC in a way that it automatically returns Java heap memory to the operating system if it’s idle.