Java Development Kit, or JDK 14 is scheduled for a production release on March 17, 2020. This is following the usual 6 month release time frame for a new Java version.
Although JAVA 14 is still about a year away, JDK 14 is already taking shape. Two features have already been officially proposed: An improvement to NullPointerExceptions , and joining Non-volatile Mapped Byte Buffers are already expected as an official feature for Java 14.
A third expected feature is switch expressions, but this has yet to be officially proposed.
Here are the features proposed for Java 14:
- The planned improvement to NullPointerExceptions pertains to improving the usability of the exceptions generated by the JVM by describing exactly which variable was null. Authors of the proposal are looking to provide helpful information to developers and support staff about the premature termination of a program and improve program understanding by more clearly associating a dynamic exception with static program code. One goal is to reduce confusion and concern developers have about NullPointerExceptions.
- Non-volatile mapped byte buffers would add new JDK-specific file mapping modes that allow the FileChannel API to be used to create MappedByteBuffer instances that refer to non-volatile memory (NVM). NVM enables programmers to build and update program state across program runs without incurring the significant copying or translation costs that input and output operations usually require. This is particularly significant for transactional programs. Thus the chief goal of this JDK Enhancement Proposal is to ensure that clients can access and update NVM from a Java program coherently and efficiently. A secondary goal is to implement this commit behavior using a restricted, JDK-internal API defined in class Unsafe, so it can be re-used by classes other than MappedByteBuffer that may need to commit to NVM. Another goal is to allow buffers mapped over NVM to be tracked by existing APIs for monitoring and management. Target OS/CPU platforms include Linux/x64 and Linux/AArch64.
- Switch expressions simplify coding by extending switch so that it can be used as either a statement or an expression. Switch expressions are expected to be a permanent feature in JDK 14, after being previewed in both JDK 12 and JDK 13. Switch expressions also prepare for the use of pattern matching in switch, which will allow developers to conditionally extract components from objects more concisely and safely.
JDK 14 beta builds are already available for Linux, MacOS, and Windows and you can download the open source JDK 14 beta build here.
Get the latest industry news first.