You are currently viewing JDK 14: Find out what’s new

JDK 14: Find out what’s new

  • Post published:November 20, 2020

This read describes some of the exciting features and enhancements introduced in JDK 14. You will find out some pretty awesome proposals and a massive increase in API elements in this latest release of Java JDK 14.

JDK 14 from the Java community is an open-source reference implementation of version 14.

You may be still using the older versions of Java, probably Java6, Java7, or Java8. But let’s start with identifying potential changes, and other features announced to this language.

Let’s crush this!

JDK 14: Find out what’s new 1

JDK 14 Features & Enhancements

Wait, you are reading the term JDK on repeat but do you know what does it stand for? Well, JDK is Java Development Kit and it’s new and improved features are described below:

1- Records

As Java is an object-oriented language; ‘classes’ is used to hold data and ‘encapsulation’ to control how the data is retrieved and altered.

This feature makes it easy to define ‘classes’ without the need to write numerous cases.

A record has a name and a state description, and the state description declares the components of the record.

Optionally, a record has a body. For example:

 record employee(int id, string name) { }

2- Pattern Matching for Instanceof

To begin with, Instanceof in Java is an operator that is used for ‘comparison’; given an object instance, it tests whether that instance is a specified type or not. The comparison operator just like that returns the answer with a yes or no.

There can be situations where we don’t know the exact type of an object, this operator will be used to conduct a test.

Before – Without this feature

if (obj instanceof String) {
    String newStr = (String) obj; // need to declare and cast again the object
    if(newStr.length() > 5{    // use newStr }
}

After – With this feature

if(obj instanceof String newStr && newStr.length() > 5{
       // use newStr
)

3- Switch Expressions

Java JDK 14 came out with a new feature called ‘Switch Expressions’. This was first presented in Java 12, got an upgrading in Java 13, and now remains a standard feature in Java 14.

The Old way of using ‘switch statement’ might look like this:

DayOfWeek day = ...
float expectedWorkingTime;
 
switch (day) {
    case MONDAY:
    case TUESDAY:
    case WEDNESDAY:
    case THURSDAY:
        expectedWorkingTime = 8f;
        break;
    case FRIDAY:
        expectedWorkingTime = 6f;
        break;
    default:
        expectedWorkingTime = 0f;
}

The new way of using ‘switch statement’ might look like this:

DayOfWeek day = ...
 
final float expectedWorkingTime = switch (day) {
    case MONDAY, TUESDAY, WEDNESDAY, THURSDAY -> 8f;
    case FRIDAY -> 6f;
    default -> 0f;
};

4- JEP 370: Foreign-Memory Access API (Incubator)

Many popular Java libraries and programs have access to foreign memory, such as Ignite, MapDB, Memcached, and Netty’s ByteBuf API. In doing so, they can avoid the cost and unpredictability associated with garbage collection (especially when maintaining large caches), share memory across multiple processes, and serialize and deserialize memory content by mapping files into memory (via, e.g., mmap).

However, the Java API does not have a suitable solution for accessing foreign memory.

With JEP 370, an effective Java API is to be introduced in the Java 14 JDK, which enables Java applications to safely and efficiently access foreign memory stored outside the Java heap.

The new API should be able to operate on various kinds of memory including native, persistent memory, and managed heap.

5- JFR Event Streaming

JFR Event Streaming provides an API for the continuous consumption of JFR data from both in-process and out-of-process applications.

JFR is a tool for collecting profiling and diagnostic data about a Java application and the JVM as they’re running. The event streaming proposal records the same set of events as for the non-streaming case, with an overhead of less than one percent if possible.

Event streaming must co-exist with non-streaming recordings, both disk-based and memory-based.

Motivating this proposal is a situation in which the HotSpot VM emits more than 500 data points using JFR, most of them available only by parsing log files.

Currently, a user must start a recording, stop it, dump the contents to disk, and then parse the recording file. This works well for application profiling, but not for monitoring purposes.

JDK 14: Find out what’s new 2

Preview

We have mentioned all the notable changes that were introduced in this new version of Java JDK 14. It is believed that this release has a lot to offer to the JavaScript developers.

Here is what you will get:

  • Open-source framework with feature-rich dynamics
  • Integrate personalized features and APIs
  • User-Centric language preferred by Businesses

So, what do you think of this new update?

If you love Java, why not have your next product developed in it? You can have the most scalable and ideal mobile apps also interactive websites designed with us.

Hire JavaScript Developer Now!