What is new in Java 19 ?

Introduction

This is a post of what will become Java 19 and it will change over time until the development of Java 19 is frozen in 2022.

Reminder 1: If something is implemented in an incubator module, it is not a permanent feature and it is released to get feedback from developers. API in such a module may change or completely removed (not released in any future JDK release). You need to use --add-modules to use incubator modules.

Reminder 2: If something is a preview feature, it is fully specified and implemented, but provided in a release to gather feedback, so it is not a permanent change yet. You need to use --enable-preview to use such features.

Changes

  • 2022/05/02: JEP 429.
  • 2022/03/27: First post.

Java 19 Features

The list is taken from the OpenJDK JDK 19 project page.

JEP 422: Linux/RISC-V Port

The RISC-V port of JDK which is nearly complete will be integrated into the mainline JDK.

JEP 425: Virtual Thrads (Preview)

This preview feature introduces the concept of a lightweight Virtual Thread that is not backed by an OS Thread. The OS Thread concept is then called Platform Thread. Virtual Thread provides a mechanism to implement thread per request or async programming style.

JEP 429: Vector (API) (Fourth Incubator)

The fourth iteration of the Vector API introduced first in Java 16.