JDK 13: The new features coming to Java 13

Official development targets for Java 13, due in late 2019, start with improvements to garbage collection and application class-data sharing

The first official planned features have been logged for Java Development Kit (JDK) 13, the next version of standard Java. Although several features had been proposed for the upgrade either verbally or in JDK Enhancement Proposals (JEPs) in recent months, these proposals—including a reimplementation of the legacy socket API, garbage collector enhancements, and application class-data sharing—had not been made official targets until now. 

Also expected in JDK 13

Three capabilities deemed worthy for JDK 13 inclusion have not yet been added to the official list. These include:

  • Development of a tool for packaging self-contained Java applications, called jpackage. The tool would be based on the JavaFX javapackager tool that supports native packaging formats to give the user a natural installation experience. It allows launch-time parameters to be specified at packaging time. The tool can be invoked directly from the command line or programmatically via the ToolProvider. Many applications need to be installed on a native platform in a “first-class” way rather than being placed on the class path or module path. A packaging tool also can fill gaps left by technologies such as Java Web Start, which was removed from Oracle’s JDK 11. The javapackager tool was deleted from JDK 11 as part of the removal of JavaFX.
  • Raw string literals, which can span multiple lines of source code and do not interpret escape sequences. This capability had been cut from JDK 12, which arrived in March 2019. The plan is to offer raw string literals only as an opt-in beta in JDK 13. Its goal is to make development easier n Java by, for example, letting developers express sequences of characters in a readable form free of Java indicators, or supply strings targeted for grammars other than Java. Following the expected test run in JDK 13, raw string literals could be made production-quality in the subsequent JDK 14 release.
  • A production version of switch expressions, for which JDK will offer a beta implementation. The switch statement will be extended for use as either a statement or an expression, so both could use either a “traditional” or “simplified” scoping and control flow behavior.

Where to download beta JDK 13 builds

You can download the JDK 13 builds from the jdk.java.net website. The first JDK 13 beta builds are available for Linux, MacOS, and Windows.