New release delivers seven JDK Enhancement Proposals to increase developer productivity, improve the Java language, and enhance the platform’s performance, stability, and security
Java 19’s key capabilities to be showcased at JavaOne 2022 in Las Vegas on October 17-20
Oracle today 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 airing on dev.java/ at 9:00 a.m. PT on Tuesday, September 20.
“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.”
Prasad Subramanian, Senior Software Development Director, Oracle India said “In the developer world, Java has created a unique position and a legacy for itself. Introduced in 1996, Java still remains synonymous with innovation and has time and again helped revolutionize the world with its usage including remotely controlling the Mars Rover in 2004. Given its importance to the global as well as the Indian developer community, we are constantly ensuring that we make Java much more useful, reliable and advanced to empower the developers with its many uses.” He added “The announcement of Java 19 fulfills that promise as we aim to provide a platform that will help developers drive innovation, have much more stability and also increase their overall productivity.”
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.
- JEP 422: Linux/RISC-V Port: Sets the stage for easier Linux/RISC-V implementations by integrating this port into the JDK main-line repository.
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.
Supporting Java Customers
The Oracle Java SE Subscription is a pay-as-you-go offering that provides customers with best-in-class support, entitlement to GraalVM Enterprise, access to the Java Management Service, and the flexibility to upgrade at the pace of their businesses. This helps IT organizations manage complexity, contain costs, and mitigate security risks. In addition, Java SE and GraalVM Enterprise are offered free of charge on OCI, enabling developers to build and deploy applications that run faster, better, and with unbeatable cost-performance on Oracle Cloud.
Underscoring Java’s popularity with the global developer community, Oracle is proud to recognize the one millionth completed Java certification. Java certifications help developers stand out as Java experts and raise their profiles with enterprises seeking to attract highly skilled Java professionals.