Listen to this story
|
Oracle has finally announced the availability of Java 19 — the latest version of the most commonly-used language and development platform. Java 19 (Oracle JDK 19) enhances the platform to help developers securely increase productivity.
Georges Saab, senior VP (development, java platform and chair) OpenJDK Governing Board, Oracle, said, “The new enhancements are a testament to the work across the global Java community.”
The JDK provides updates with seven JDK Enhancement Proposals (JEPs), most of which are to be delivered as follow-up preview features that improve the earlier releases’ functionality.
On Java’s time-based releases
Oracle releases a Java feature every six months via a predictable release schedule. This provides continuous innovations while improving the platform’s performance, stability, and security.
“Earlier, when we announced the time-based release every six months there was some hesitation. People don’t like major changes; they think it would be too fast, and they’d be getting all these features too quickly. But over the past few years, the ecosystem has largely galvanized around this six-month release cadence, and we’ve made it so that the uptake of each version of Java is not like it used to be. So it’s been a very smooth process. Finally, for the people developing the JDK itself, this has meant there’s always a place for their new evolution,” Saab told AIM.
Seeing what developers have gone through here, they found that the downloads of each successive six months release have increased from the very start, he added.
Significant updates delivered in Java 19
JEP 405: Record Patterns (Preview)
The update allows users to nest record patterns and type patterns to create a powerful data navigation and processing form. This extends pattern matching to allow data queries.
JEP 427: Pattern Matching for Switch (Third Preview)
The feature enables pattern matching for switch expressions and statements by permitting an expression to be tested against several patterns allowing users to express complex data-oriented queries concisely.
Library Tools
JEP 424: Foreign Function and Memory API (Preview)
The update enables Java programs to interoperate with code and data outside the Java runtime easily. The API enables Java programs to process native data via a pure Java development model.
JEP 426: Vector API (Fourth Incubator)
Compared to equivalent scalar computations, this feature enables better performance by expressing vector computations on supported CPU architectures that compile at runtime to vector instructions.
Ports
JEP 422
The port sets the stage for easier Linux/RISC-V implementations by integrating this port into the JDK mainline repository.
Project Loom Preview/Incubator Features
JEP 425: Virtual Threads (Preview)
The feature reduces the effort of writing, maintaining, and observing high-throughput concurrent applications by introducing lightweight virtual threads to the Java Platform. With existing JDK tools, virtual threads allow users to troubleshoot, debug, and profile concurrent applications easily.
JEP 428: Structured Concurrency (Incubator)
The feature eases error handling and cancellation, improves reliability and observability by treating multiple tasks running as a single unit of work.
Roadmap for India
Focusing on the plans for India, Saab said, “One of the largest concentrations of that development is addressed through our Bangalore office. So we have a very strong foundation of Java talent in the country. We have multiple chapters throughout the country, from Delhi to Pune, Bangalore to Mumbai, and that’s just a reflection of how popular Java continues to be.”
As the user groups continue to grow, the team is looking to partner with user groups globally to bring Java back to a local level. Saab said returning to the region will be highly important, considering India’s vital role as part of the Java experience.
The latest capabilities in Java 19 will be showcased at JavaOne 2022.