Oracle Releases Java 14
March 30, 2020

Oracle announced the general availability of Java 14 (Oracle JDK 14).

Java 14 continues Oracle’s commitment to accelerate innovation by delivering new enhancements to enterprises and the developer community with a new feature release every six months. The latest Java Development Kit (JDK) delivers new features, including two new highly anticipated preview features – Pattern Matching for instanceof (JEP 305) and Records (JEP 359), as well as a second preview of Text Blocks (JEP 368). Additionally, the latest Java release adds Java language support for switch expressions, exposes new APIs for continuous monitoring of JDK Flight Recorder data, extends the availability of the low-latency Z Garbage Collector to macOS and Windows, and adds, in incubator modules, the packaging of self-contained Java applications and a new Foreign memory access API for safe, efficient access to memory outside of the Java heap.

“Java 14 is further validation of the benefits of the six-month release cadence, giving developers access to features that they would otherwise be waiting years to get their hands on,” said Georges Saab, VP of Development, Java Platform, Oracle. “Not only does JDK 14 have a number of enhancements that will improve developer productivity, but we’re also seeing the first major content to come from projects like Project Panama, with a Foreign-Memory Access API enhancement (JEP 370), and continuing improvements from Project Amber, with Pattern Matching (JEP 305) and Records (JEP 359). These significant enhancements are testament to all of the hard work in these groundbreaking projects.”

The Java 14 release is the result of industry-wide development involving open review, weekly builds, and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process.

The new features delivered in Java 14 include:

- JEP 305: Pattern Matching for instanceof (Preview) – This preview feature enhances Java with pattern matching for the instanceof operator. This improves developer productivity by eliminating the need for common boiler plate code and allows more concise type-safe code.

- JEP 343: Packaging Tool (Incubator) – Provides a way for developers to package Java applications for distribution in platform-specific formats. This helps developers with modern applications where constraints require runtimes and applications to be bundled in a single deliverable. This tools is introduced in an incubator module, which is a way of putting non-final APIs and non-final tools in the hands of developers to get their feedback while the APIs/tools progress towards either finalization or removal in a future release.

- JEP 345: NUMA-Aware Memory Allocation for G1 – Improves overall performance of the G1 garbage collector on non-uniform memory access (NUMA) systems.

- JEP 349: JFR Event Streaming – Exposes JDK Flight Recorder (JFR) data for continuous monitoring. This will simplify access to JFR data for various tools and applications and spur further innovation.

- JEP 352: Non-Volatile Mapped Byte Buffers – Adds a file mapping mode for the JDK when using non-volatile memory. The persistent nature of non-volatile memory changes various persistence and performance assumptions which are leveraged with this feature.

- JEP 358: Helpful NullPointerExceptions – Improves the usability of NullPointerExceptions by describing precisely which variable was null and other helpful information. This will increase developer productivity and improve the quality of many development and debugging tools.

- JEP 359: Records (Preview) – This preview feature provides a compact syntax for declaring classes which hold shallowly immutable data. This feature can greatly reduce boilerplate code in classes of this type, but the biggest benefit allowing the modeling of data as data. It should be easy, clear and concise to declare these shallowly-immutable nominal data aggregates.

- JEP 361: Switch Expressions (Standard) – This was a preview feature in JDK 12 and JDK 13 and is now being added as a standard feature. It allows switch to be used as either a statement or an expression. This feature simplifies every day coding and prepared the way for the pattern matching (JEP 305) feature previewed in this release.

- JEP 364: ZGC on macOS and JEP 365: ZGC on Windows – While most users that require ZGC also require the scalability of Linux-based environments, there are often needs for deployment and testing to support ZGC on macOS and Windows. There are also certain desktop applications targeting Windows and macOS which will benefit from ZGC.

- 368: Text Blocks (Second Preview) – After receiving end-user feedback when Text Blocks was first introduced as a preview feature as part of Java 13, enhancements have been added and Text Blocks is being offered as a preview feature again in Java 14 with the goal of becoming standard in a future JDK release. Text Blocks make it easy to express strings that span several lines of source code. It enhances the readability of strings in Java programs that denote code written in non-Java languages; It supports the migration from string literals by stipulating that any new construct can express the same set of strings as a string literal, interpret the same escape sequences and be manipulated in the same ways as a string literal.

- 370: Foreign-Memory Access API (Incubator) – An API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.

For users and enterprises seeking commercial support, Oracle also offers the Oracle Java SE Subscription, a low cost and predictable support solution. This offering is currently used by thousands of large and small organizations globally who receive the Java SE license, and comprehensive support, for the systems they need, and only for as long as they need it. These customers benefit from the flexibility and regular access to tested and certified performance, stability, and security updates for supported releases directly from Oracle.

Java continues to be the #1 programming language preferred by software developers. And as the on-time delivery of innovations with Java 14 demonstrates, through thoughtful planning and ecosystem involvement, the Java platform continues to power modern application development.

Share this

Industry News

May 21, 2020

Exadel announced the Grand Prize winner of the “Appery.io COVID-19 Virtual Hackathon.”

May 21, 2020

CloudBees announced significant advances for its Software Delivery Management (SDM) platform – integrations with additional continuous integration and continuous delivery (CI/CD) engines, including Google Cloud Build and Tekton, and extension of the availability of CloudBees’ SDM Preview Program.

May 21, 2020

OutSystems is announcing over 70 development accelerators that ensure web and mobile applications created on the OutSystems low-code development platform can comply with the highest accessibility standards and regulations.

May 20, 2020

Styra announced that Styra Declarative Authorization Service (DAS) now supports microservices and extends context-based authorization to the service mesh.

May 20, 2020

Optimizely announced that its free feature flagging plan for development teams, Rollouts, now also includes A/B testing and feature configuration.

May 20, 2020

StackRox announced new runtime security features in the latest release of the StackRox Kubernetes Security Platform.

May 19, 2020

Docker has partnered with Snyk to deliver the first, native vulnerability scanning of container images in Docker.

May 19, 2020

Rancher Labs announced the launch of Rancher Academy.

May 19, 2020

Datical, a provider of database release automation solutions, has rebranded and will be conducting operations under the name Liquibase.

May 18, 2020

D2iQ introduced the D2iQ Shortcut to Success promotion. The cost-effective package of technology, training, professional services and support ensures successful Day 2 production operations for Kubernetes at a price point that makes it affordable for companies of all sizes to get started.

May 18, 2020

Altran announced the release of a new tool available on GitHub that predicts the likelihood of bugs in source code created by developers early in the software development process.

May 18, 2020

DigitalOcean closed a $50 million Series C funding round led by Access Industries, with participation from Andreessen Horowitz.

May 14, 2020

Venafi announced a definitive agreement to acquire Jetstack, a provider of open source machine identity protection software for Kubernetes and cloud native ecosystems.

May 14, 2020

SonarSource announced the acquisition of RIPS Technologies, a German startup from Bochum known for its leading code security analyzers.

May 14, 2020

IT Revolution announced The Idealcast — a new podcast series to share insights and solutions for how organizations can thrive during the age of digital disruption.