Java 12 is the latest Short Term Support (STS) release by Oracle. However, the industry is still warming to migrating to the latest Long-Term-Support (LTS) Java release by Oracle, that is, Java 11.
The notable features in JDK 12 are the addition of Shenandoah GC and switch expressions. We covered switch expressions in Chapter 11, Switch Expressions. Since a detailed coverage of Shenandoah GC is beyond the scope of this book, I'm covering it in this chapter with the remaining additions and updates to Java 12.
In this chapter, we'll cover the following topics:
- Shenandoah—a low-pause-time GC
- The microbenchmark suite
- The Java Virtual Machine (JVM) Constants API
- One AArch64 port, not two
- Default CDS archives
- Abortable mixed collections for G1
- Promptly return unused committed memory from G1