Java 16 | Java 15 | Java 14 | Java 13 | Java 12 | Java 11 | Java 10 | Java 9 | Java 8
Java 12
Release notes | Specification | JEPs
JEP Name Category Summary
230 Microbenchmark Suite
Add a basic suite of microbenchmarks to the JDK source code, and make it easy for developers to run existing microbenchmarks and create new ones.
325 Switch Expressions (Preview)
Extend the switch statement so that it can be used as either a statement or an expression, and that both forms can use either a "traditional" or "simplified" scoping and control flow behavior. These changes will simplify everyday coding, and also prepare the way for the use of pattern matching (JEP 305) in switch. This is a preview language feature in JDK 12.
189 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Garbage Collector
Add a new garbage collection (GC) algorithm named Shenandoah which reduces GC pause times by doing evacuation work concurrently with the running Java threads. Pause times with Shenandoah are independent of heap size, meaning you will have the same consistent pause times whether your heap is 200 MB or 200 GB.
334 JVM Constants API
Introduce an API to model nominal descriptions of key class-file and run-time artifacts, in particular constants that are loadable from the constant pool.
341 Default CDS Archives
Enhance the JDK build process to generate a class data-sharing (CDS) archive, using the default class list, on 64-bit platforms.
344 Abortable Mixed Collections for G1
Garbage Collector
Make G1 mixed collections abortable if they might exceed the pause target.
346 Promptly Return Unused Committed Memory from G1
Garbage Collector
Enhance the G1 garbage collector to automatically return Java heap memory to the operating system when idle.
340 One AArch64 Port, Not Two
Remove all of the sources related to the arm64 port while retaining the 32-bit ARM port and the 64-bit aarch64 port.