JDK 19: The features targeted for Java 19


Java Development Package 19, due this September, now has a next feature formally proposed to target it: A vector API to categorical vector computations, which would undertake a fourth incubation in the next Java launch. The other proposed feature is a port of the JDK to the open supply Linux/RISC-V instruction set architecture (ISA).

JDK 19, or only Java 19, possibly could host a large variety of capabilities, ranging from common generics to benefit objects, according to programs less than way for boosting Java. But so far, the vector API and the RISC-V port are the only officially proposed options to concentrate on JDK 19. JDK 19 would stick to JDK 18, which arrived March 22. Common Java is on a six-month release cadence.

The OpenJDK builders have revealed an formal launch agenda for JDK 19, which has it arriving September 20 as a output launch, preceded by rampdown phases June 9 and July 21, and launch candidates to be released August 11 and August 25.

The vector API would categorical vector computations that reliably compile at runtime to exceptional vector directions on supported CPU architectures. Developers utilizing the API obtain a way to generate sophisticated vector algorithms in Java, making use of the HotSpot automobile-vectorizer but with a user design that makes vectorizations more predictable and sturdy. The vector API previously was incubated into JDK 16, JDK 17, and JDK 19.

Advancements to the API proposed for JDK 19 involve enhancements to load and keep vectors to and from MemorySegments as outlined by the overseas perform and memory API preview. JDK 19 would also increase two cross-lane vector operations, compress and increase, collectively with a complementary vector mask compress procedure. The compress vector operation maps lanes of a resource vector, picked by a mask, to a spot vector in lane get although the develop operation does the inverse. The compress procedure is handy in filtering question results.

In a further addition to the vector API, bitwise integral lanewide operations would be expanded, including operations these types of counting the quantity of a single bits, reversing the order of bits, and compressing and growing bits. Targets of the API involved staying obvious and concise, platform-agnostic, having responsible runtime and compilation functionality on x64 and AArch64 architectures, and enabling “graceful” degradation, for conditions in which a vector computation can not be thoroughly expressed at runtime as a sequence of vector operations.

With the Linux/RISC-V port, Java would achieve guidance for a hardware instruction set that is already supported by a huge vary of language toolchains. RISC-V really is a family of similar ISAs. The Linux/RISC-V port would only support the RV64GV configuration of RISC-V, a standard objective 64-little bit ISA that consists of vector recommendations. The builders of Java may possibly take into account other RISC-V configurations in the long term.

The port would guidance the next HotSpot VM selections: the template interpreter, C1 (shopper) JIT compiler, C2 (server) JIT compiler, and all present-day mainline rubbish collectors together with ZGC and Shenandoah. The real porting is almost finish the emphasis of the JDK Improvement Proposal (JEP) is integration of the port into the JDK mainline repository.

Aside from the RISC-V port and the vector API, a preview of the overseas operate and memory API, letting Java programs to interoperate with code and data outdoors of the JVM runtime, also appears destined to becoming officially specific to JDK 19, since the API proposal by itself cites JDK 19 as a vacation spot.

Like JDK 18, JDK 19 is due to be a short-expression launch, with only 6 months of prime-level, Leading assistance.

The preceding launch, JDK 17, was a Extended Expression Help (LTS) launch, with quite a few decades of assistance. It arrived September 14, 2021.

Copyright © 2022 IDG Communications, Inc.


Supply hyperlink