Seven JDK Enhancement Proposals are included in the new release to improve the Java language, boost developer productivity, and improve platform performance, stability, and security.
The programming language and development platform, Java 20, was made generally available by Oracle. Numerous performance, stability, and security advancements are included in Java 20 (Oracle JDK 20), as well as platform upgrades that will assist developers increase productivity and promote innovation and growth within their organisations. At the Java Developer Day, which is taking place today at the Oracle DevLive Level Up conference, which runs from March 20–23 in Redwood Shores, California, and online, Oracle is showing the newest features in Java 20.
Seven JDK Enhancement Proposals are included in the most recent Java Development Kit (JDK), which offers upgrades and improvements. (JEPs). Most of the upgrades are follow-up enhancements that enhance functionality that was first offered in earlier iterations.
JDK 20 includes language enhancements from OpenJDK Project Amber (Record Patterns and Pattern Matching for Switch), improvements from OpenJDK Project Panama to connect Java Virtual Machine (JVM) and native code (Foreign Function & Memory API and Vector API), and features related to Project Loom (Scoped Values, Virtual Threads, and Structured Concurrency) that will significantly speed up the process of writing, maintaining, and observing high-throughput, concurrent applications.
Every six months, Oracle distributes new Java feature updates via a predetermined release schedule. This cycle offers a consistent flow of innovations while bringing ongoing enhancements to the platform’s performance, stability, and security that contribute to Java’s increased adoption across all sizes of businesses and sectors. The following are the most important updates included in Java 20:
Updates and improvements to the language
JEP 432 Record Patterns (Second Preview): Improves the Java language by enabling nesting of record patterns and type patterns to produce a potent, declarative, and modular method of data processing and navigation. By permitting more complex and modular data queries, pattern matching can be extended to help developers work more productively.
Pattern Matching for Switch (JEP 433: Fourth Preview): Complex data-oriented queries can be written succinctly and safely by extending pattern matching to switch, which enables an expression to be checked against a variety of patterns, each of which has a particular action. Developer productivity can be increased by enhancing the expressiveness and applicability of switch expressions and statements.
Features of the Project Loom Preview/Incubator
JEP 429: Scoped Values (Incubator): Allows for the exchange of immutable data within and between threads, which is preferable to thread-local variables – especially when utilising a lot of virtual threads. This improves performance, robustness, and understandability.
JEP 436: Virtual Threads (Second Preview): By adding lightweight virtual threads to the Java Platform, it will become significantly easier to create, maintain, and monitor high-throughput, concurrent applications. Virtual threads speed up application development by making it simple for developers to troubleshoot, debug, and profile concurrent applications using already available JDK tools and methodologies.
JEP 437: Structured Concurrency (Second Incubator): Treats many jobs operating on various threads as a single unit of work, simplifying multithreaded programming. This facilitates errors and cancellation, boosts reliability, and increases observability for development teams.
Features of the Project Panama Preview
JEP 434: Foreign Function & Memory API (Second Preview): Allows Java programmes to communicate with code and information that aren’t part of the Java runtime environment. This feature enables Java programmes to call native libraries and process native data without needing the Java Native Interface by effectively 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 improves performance, safety, and usability.
JEP 438: Vector API (Fifth Incubator): Expresses vector computations that dependably compile to vector instructions at runtime on supported CPU architectures. When compared to equivalent scalar operations, this improves performance.
Oracle engineers worked closely with other members of the global Java developer community through OpenJDK and the Java Community Process to produce the Java 20 release. (JCP). Along with the new improvements, Java 20 is supported by Java Management Service, a native Oracle Cloud Infrastructure (OCI) service that offers a single point of control for managing Java runtimes and applications whether they are hosted on-premises or in any cloud.
“At Oracle, we have always believed in building a collaborative relationship with the developer community and ensuring overall innovation for organizations. The latest announcement of Java 20 is a testimony of the very same commitment as we continue to fulfill our promise of utmost performance. Since its launch many decades ago, Java has proved to be a critical enabler of growth across many organisations globally and especially in India, the reliance on Java is evident. As the country steadily moves towards increased technology acceptance, there is a need for holistic, secure and stable offerings. Therefore, with this announcement, we aim to fulfil all of these rising requirements of many enterprises within the country and across the globe.” said Prasad Subramanian, Senior Software Development Director, Oracle India.
“For more than 25 years, Java has empowered developers to design and build the next generation of robust, scalable, and secure applications,” said Georges Saab, senior vice president of development, Java Platform and chair, OpenJDK Governing Board, Oracle. “The innovative new enhancements in Java 20 reflect the vision and invaluable efforts the global Java community has contributed throughout Java’s existence. With the support provided by Oracle’s ongoing Java technology leadership and community stewardship, Java has never been more relevant as a contemporary language and platform that helps developers improve productivity.”