Book Image

Java 11 and 12 ??? New Features

By : Mala Gupta
Book Image

Java 11 and 12 ??? New Features

By: Mala Gupta

Overview of this book

With its new six-monthly release cadence, Java is moving forward faster. In addition to planned version releases, a lot of work is currently being undertaken on various Java projects at Oracle. In order to make best use of the new features in their applications and libraries, you must be well-versed with the most recent advancements. Java 11 and 12 – New Features will take you through the latest developments in Java, right from variable type inference and simplified multithreading through to performance improvements, which are covered in depth to help you make your applications more efficient. This book explains the relevance and applicability of Java's new features, and answers your questions on whether to invest in migrating to new Java versions and when to migrate. You'll also get to grips with platform features, such as AppCDS and new garbage collectors, to tune and optimize your application—from reduced launch time and latency to improved performance and throughput. By the end of this book, you will be equipped with a thorough understanding of the new features of Java 11, 12, and Project Amber, and possess the skills to apply them with a view to improving your application's performance.
Table of Contents (23 chapters)
Free Chapter
1
Section 1: JDK 10
6
Section 2: JDK 11
13
Section 3: JDK 12
16
Section 4: Project Amber

Miscellaneous Improvements in JDK 12

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
...