REDWOOD SHORES, Calif., March 17, 2020 /PRNewswire/ -- Oracle today 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, vice president 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.

JEP 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.

JEP 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. Additional Resources Oracle is hosting a Java 14 webinar with live Q&A on March 26 – register here

– register here Read the Java 14 technical blog here

Learn more about the Oracle OpenJDK 14 General Availability releases here

Learn how Java is innovating for the future through Project Amber, Project Panama , Project Loom, and Project Valhalla About Oracle

The Oracle Cloud offers a complete suite of integrated applications for Sales, Service, Marketing, Human Resources, Finance, Supply Chain and Manufacturing, plus Highly Automated and Secure Generation 2 Infrastructure featuring the Oracle Autonomous Database. For more information about Oracle (NYSE: ORCL), please visit us at www.oracle.com. Future Product Disclaimer

The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle's products may change and remains at the sole discretion of Oracle Corporation. Trademarks

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. View original content to download multimedia:http://www.prnewswire.com/news-releases/oracle-announces-java-14-301025683.html SOURCE Oracle