Significant Changes in JDK 16 Release

See JDK 16 Release Notes for additional descriptions of the new features and enhancements, and API specification in JDK 16.

The following are some of the updates in Java SE 16 and JDK 16:

Preview Features and Incubator Modules

See Java Language Preview Feature for more information about preview features.

  • Sealed classes, a preview feature from JDK 15, is re-previewed in this release. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. There has been several refinements in this release, including the introduction of character sequences sealed, non-sealed, and permits as contextual keywords. See JEP 397: Sealed Classes (Second Preview) and Sealed Classes in Java Platform, Standard Edition Java Language Updates guide.
  • Initial iteration of an incubator module, jdk.incubator.vector, is provided to express vector computations. It reliably compiles at runtime to optimal vector hardware instructions on supported CPU architectures and thus achieve superior performance to equivalent scalar computations. See JEP 338: Vector API (Incubator).
  • Foreign Linker API is introduced that offers statically-typed, pure-Java access to native code. This API, along with the Foreign-Memory Access API (JEP 393), will simplify the otherwise error-prone process of binding to a native library. See JEP 389: Foreign Linker API (Incubator).
  • Foreign-Memory Access API allows Java programs to safely and efficiently access foreign memory outside of the Java heap. See JEP 393: Foreign-Memory Access API (Third Incubator).

Removed APIs, Tools, and Components

See:

In addition, there are security related updates that you need to be aware of. See: Security Updates in JDK 16.