JDK 15: The new features in Java 15


With having reached general availability March 17, work has begun on the successor, Java 15, due in September 2020. Thus far four official changes — the addition of text blocks, the addition of the Z and Shenandoah garbage collectors, and the removal of the Nashorn JavaScript engine — have been proposed for the release.

All four proposals have been officially targeted for , which is the basis for the next version of Java SE (Standard Edition). The proposals will be undergoing review during the next several days.

The OpenJDK 15 proposal specifics:

  • The Z Garbage Collector (ZGC) would graduate from an experimental feature to a product under this proposal. Integrated into , which arrived in September 2018, ZGC is a scalable, low-latency garbage collector. ZGC was introduced as an experimental capability because Java’s developers decided a feature of this size and complexity should be brought in carefully and gradually. Since then, a number of improvements have been added, ranging from concurrent class unloading, uncommitting of unused memory, and support for data-class sharing to improved NUMA awareness and multi-threaded heap pre-touching. Also, the maximum heap size has been increased from four terabytes to 16 terabytes. Platforms supported include Linux, Windows, and MacOS.
  • Text blocks, previewed in both JDK 14 and , are intended to simplify the task of writing Java programs by making it easy to express strings that span several lines of source code, while avoiding escape sequences in common cases. A text block is a multi-line string literal that avoids the need for most escape sequences, automatically formats the string in a predictable manner, and offers the developer control over the format when desired. A goal of the text blocks proposal is enhancing the readability of strings in Java programs that denote code written in non-Java languages. Another goal is to support migration from string literals by stipulating that any new construct can express the same set of strings as a string literal, interpret the same escape sequences, and be manipulated in the same fashion as a string literal. The OpenJDK developers hope to add escape sequences to manage explicit white space and newline control.
  • The would become a production feature and move out of the experimental stage. It had been integrated into a year ago.
  • Removal of , which debuted in n March 2014, but has since been made obsolete by technologies such as . The OpenJDK 15 proposal calls for removing Nashorn APIs and the jjs command line tool used to invoke Nashorn.

Early access builds of JDK 15 can be found at . JDK 15 will be a short-term feature release, supported for six months according to . The next long-term support (LTS) release, which will receive several years of support, will be JDK 17, which is due to arrive in September 2021. The current LTS release is , which was released in September 2018.

Copyright © 2020 IDG Communications, Inc.