Oracle has announced the availability of Java 19, the latest version of the world’s number one programming language and development platform. Java 19 (Oracle JDK 19) delivers thousands of performance, stability, and security improvements, including enhancements to the platform that will help developers improve productivity and drive business-wide innovation. Oracle will showcase the latest capabilities in Java 19 at JavaOne 2022, taking place October 17-20 in Las Vegas, and via a keynote broadcast`
“Our ongoing collaboration with the developer community is the lifeblood of Java. As the steward of Java, Oracle is steadfastly committed to providing developers and enterprises with the latest tools to help them create innovative apps and services,” said Georges Saab, senior vice president of development, Java Platform and Chair, OpenJDK Governing Board, Oracle. “The powerful new enhancements in Java 19 are a testament to the monumental work across the global Java community.”
The latest Java Development Kit (JDK) provides updates and improvements with seven JDK Enhancement Proposals (JEPs). Most of these updates are to be delivered as follow-up preview features improving on functionality introduced in earlier releases.
JDK 19 delivers language Improvements from OpenJDK project Amber (Record Patterns and Pattern Matching for Switch); library enhancements to interoperate with non-Java Code (Foreign Function and Memory API) and to leverage vector instructions (Vector API) from OpenJDK project Panama; and the first previews for Project Loom (Virtual Threads and Structured Concurrency), which will drastically reduce the effort required to write and maintain high-throughput, concurrent applications in Java.
“Java developers are increasingly seeking tools to help them efficiently build highly functional applications for deployment in the cloud, on-premises, and in hybrid environments,” said Arnal Dayaratna, research vice president, software development, IDC. “The enhancements in Java 19 deliver on these requirements and illustrate how the Java ecosystem is well-positioned to meet the current and future needs of developers and enterprises.”
Oracle delivers new Java Feature releases every six months via a predictable release schedule. This cadence provides a steady stream of innovations while delivering continuous improvements to the platform’s performance, stability, and security, helping increase Java’s pervasiveness across organizations and industries of all sizes.
The most significant updates delivered in Java 19 are:
Updates and Improvements to the Language
- JEP 405: Record Patterns (Preview): Enables users to nest record patterns and type patterns to create a powerful, declarative, and composable form of data navigation and processing. This extends pattern matching to allow for more sophisticated and composable data queries.
- JEP 427: Pattern Matching for Switch (Third Preview): Enables pattern matching for switch expressions and statements by permitting an expression to be tested against a number of patterns. This allows users to express complex data-oriented queries concisely and safely.
- JEP 424: Foreign Function and Memory API (Preview): Enables Java programs to more easily interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the Java Virtual Machine [JVM]), and by safely accessing foreign memory (i.e., memory not managed by the JVM), this API enables Java programs to call native libraries and process native data via a pure Java development model. This results in increased ease-of-use, performance, flexibility, and safety.
- JEP 426: Vector API (Fourth Incubator): Enables superior performance compared to equivalent scalar computations by expressing vector computations that reliably compile at runtime to vector instructions on supported CPU architectures.
Project Loom Preview/Incubator Features
- JEP 425: Virtual Threads (Preview): Dramatically reduces the effort of writing, maintaining, and observing high-throughput concurrent applications by introducing lightweight virtual threads to the Java Platform. Using virtual threads allows developers to easily troubleshoot, debug, and profile concurrent applications with existing JDK tools and techniques.
- JEP 428: Structured Concurrency (Incubator): Streamlines error handling and cancellation, improves reliability, and enhances observability by simplifying multithreaded programming and treating multiple tasks running in different threads as a single unit of work.
Driving Java Innovation in the Cloud
The Java 19 release is the result of extensive collaboration between Oracle engineers and other members of the worldwide Java developer community via the OpenJDK Project and the Java Community Process (JCP). In addition to new enhancements, Java 19 is supported by Java Management Service—an Oracle Cloud Infrastructure (OCI) native service—that provides a single pane of glass to help organizations manage Java runtimes and applications on-premises or on any cloud.