OpenJDK 16 Released With The JDK Source Beginning To Use C++14 Features
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 openjdk.java.net.
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 openjdk.java.net.
26 Comments