OpenJDK 16 Released With The JDK Source Beginning To Use C++14 Features

Written by Michael Larabel in Programming on 16 March 2021 at 11:00 AM EDT. 26 Comments
Java 16 is out today in the form of the OpenJDK 16 general availability release.

OpenJDK 16 now allows the use of C++14 language features within the JDK C++ source tree where as prior releases were bound to C++98/C++03 standards. This does up the build system requirements for OpenJDK but still rather lax by today's standards with only needing GCC 5.0+ or Clang 3.5+.

Another fundamental change with OpenJDK 16 is now hosting the community Git repositories via GitHub following their transition from Mercurial to Git. So all Java development moving forward is now being done in Git and using GitHub for all the community/public repositories.

On the Java language front, OpenJDK 16 introduces an "incubator" level module providing a Vector API. The Java Vector API allows for expressing vector computations that at run-time are generated for optimal hardware instructions on the system in use. The Java Vector API is platform and architecture agnostic. This will allow generating efficient usage of SSE and AVX or NEON on ARM, etc.

OpenJDK 16 also provides concurrent thread-stack processing for its ZGC garbage collector, an official port to Alpine Linux with Musl libc, Windows on AArch64 support, and shipping the jpackage tool for packaging self-contained Java applications.

More details on all the exciting improvements with OpenJDK 16 can be found via
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week