Java 16

Release notes - Specification - JEPS

JEP Name Category Summary
395 JEP detail Records
Language
Enhance the Java programming language with records, which are classes that act as transparent carriers for immutable data. Records can be thought of as nominal tuples.
387 JEP detail Elastic Metaspace
Garbage Collector
Return unused HotSpot class-metadata (i.e., metaspace) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs.
369 JEP detail Migrate to GitHub
Tools
Host the OpenJDK Community's Git repositories on GitHub. In concert with JEP 357 (Migrate from Mercurial to Git), this would migrate all single-repository OpenJDK Projects to GitHub, including both JDK feature releases and JDK update releases for versions 11 and later.
357 JEP detail Migrate from Mercurial to Git
Tools
Migrate the OpenJDK Community's source code repositories from Mercurial (hg) to Git.
347 JEP detail Enable C++14 Language Features
HotSpot
Allow the use of C++14 language features in JDK C++ source code, and give specific guidance about which of those features may be used in HotSpot code.
388 JEP detail Windows/AArch64 Port
HotSpot
Port the JDK to Windows/AArch64.
376 JEP detail ZGC: Concurrent Thread-Stack Processing
Garbage Collector
Move ZGC thread-stack processing from safepoints to a concurrent phase.
386 JEP detail Alpine Linux Port
HotSpot
Port the JDK to Alpine Linux, and to other Linux distributions that use musl as their primary C library, on both the x64 and AArch64 architectures,

Preview only

JEP Name Category Summary
338 JEP detail Vector API (Incubator)
HotSpot
Provide an initial iteration of an incubator module, jdk.incubator.vector, to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU architectures and thus achieve superior performance to equivalent scalar computations.