JDK 16 begins to take shape

Whilst not thanks to arrive until March 2021, Java Improvement Kit (JDK) 16 is commencing to acquire shape, setting up with enabling C++ fourteen language characteristics in JDK C++ supply code and a vector API.

JDK 16 will be the reference implementation of the edition of conventional Java established to abide by JDK fifteen, which is thanks on September fifteen. The six-thirty day period release cadence for conventional Java would have JDK 16 arriving next March.

As of September 2, 4 proposals specific JDK 16. The most modern, the vector API, was added the week of August 31, 2020. The new capabilities coming to Java 16:

  • Enablement of C++ fourteen language characteristics, to let the use of C++ fourteen capabilities in JDK C++ supply code and give particular guidance about which of these characteristics may be made use of in HotSpot VM code. Through JDK fifteen, language characteristics made use of by C++ code in the JDK have been minimal to the C++98/03 language criteria. With JDK 11, the supply code was up-to-date to support building with more recent versions of the C++ conventional. This contains currently being able to create with modern versions of compilers that support C++ 11/fourteen language characteristics. This proposal does not propose any type or use changes for C++ code that is made use of exterior of HotSpot. But to acquire advantage of C++ language characteristics, some create-time changes are expected, dependent on the system compiler.
  • A vector API in an incubator stage, in which the JDK would be equipped with an incubator module, jdk.incubator.vector, to specific vector computations that compile to optimal vector hardware recommendations on supported CPU architectures, to attain excellent efficiency to equal scalar computations. The vector API presents a system to generate complex vector algorithms in Java, working with pre-current support in the HotSpot VM for vectorization but with a user design that makes vectorization more predictable and sturdy. Goals of the proposal consist of providing a distinct and concise API to specific a array of vector computations, currently being system-agnostic by supporting a number of CPU architectures, and featuring reliable runtime compilation and efficiency on x64 and AArch64 architectures. Graceful degradation also is a intention, in which a vector computation would degrade gracefully and even now functionality if it cannot be fully expressed at runtime as a sequence of hardware vector recommendations, either mainly because an architecture does not support some recommendations or another CPU architecture is not supported.
  • Migration of OpenJDK supply code repositories from Mercurial to Git. Driving this effort and hard work are rewards in edition handle method metadata dimension and accessible resources and web hosting.
  • Migration to GitHub, relevant to the Mercurial-to-Git migration, with JDK 16 supply code repositories to be on the well-known code-sharing internet site.

Early-entry builds of JDK 16 for Linux, Windows, and MacOS can be discovered at jdk.java.web. Like JDK fifteen, JDK 16 will be a small-term release, supported for six months. JDK 17, thanks in September 2021, will be a lengthy-term support (LTS) release that will acquire several many years of support. The latest LTS release, JDK 11, was launched in September 2018.

Copyright © 2020 IDG Communications, Inc.