Although not due to arrive until March 2021, Java Development Kit (JDK) 16 is beginning to take shape, starting with enabling C++ 14 language features in JDK C++ source code.
JDK 16 will be the reference implementation of the version of standard Java set to follow JDK 15, which is due on September 15. The six-month release cadence for standard Java would have JDK 16 arriving next March.
As of July 29, three proposals were targeted to JDK 16, starting with the enablement of C++ 14 language features, to allow the use of C++ 14 capabilities in JDK C++ source code and give specific guidance about which of these features may be used in HotSpot VM code.
Through JDK 15, language features used by C++ code in the JDK have been limited to the C++98/03 language standards. With JDK 11, the source code was updated to support building with newer versions of the C++ standard. This includes being able to build with recent versions of compilers that support C++ 11/14 language features.
This proposal does not propose any style or usage changes for C++ code that is used outside of HotSpot. But to take advantage of C++ language features, some build-time changes are required, depending on the platform compiler.
The second proposal centres around the migration of OpenJDK source code repositories from Mercurial to Git. Driving this effort are advantages in version control system metadata size and available tools and hosting.
Finally, migration to GitHub is also on the table, related to the Mercurial-to-Git migration, with JDK 16 source code repositories to be on the popular code-sharing site.
Early-access builds of JDK 16 for Linux, Windows, and MacOS can be found at jdk.java.net. Like JDK 15, JDK 16 will be a short-term release, supported for six months. JDK 17, due in September 2021, will be a long-term support (LTS) release that will receive several years of support. The current LTS release, JDK 11, was released in September 2018.