Java 20 is scheduled for a GA release in March 2023, there are no targeted JEPs for JDK 20 at this time. However, based on recently submitted JEP drafts and JEP candidates, we can surmise which JEPs have the potential to be included in Java 20. JDK Source Structure, an informational JEP, describes the overall layout and structure of the JDK source code and related files in the JDK repository. This JEP proposes to help developers adapt to the source code structure as described in JEP 201, Modular Source Code, delivered in JDK 9.
Universal generics, to unify the treatment of reference and primitive types in generic code. This proposal has been floating for a while and did not make it into JDK 19. Extent-local variables, to enable sharing of immutable data within and across threads. String templates, simplify Java programming by making it easy to express strings that include values computed at run time.
Value objects, to enhance the Java new functions with class instances that have only final instances and lack object identity. Primitive classes are special kinds of value classes that define new primitive types. Sequenced collections, providing a Collection interface to represent a collection with a defined encounter order. An API for asynchronous stack traces, which would provide information on Java and native frames.
A classfile API, to parse, generate, and transform Java class files. Record patterns, previewed in JDK 19, for deconstructing record values. Foreign function and memory API previewed in JDK 19 as a mechanism for Java programs to interoperate with code and data outside the Java runtime.
Another JDK 19 preview feature, virtual threads, serves as lightweight threads to make it easier to write and maintain high-throughput concurrent applications. A vector API, incubated for the fourth time in JDK 19, expresses vector computations that reliably compile at runtime to optimal instructions on supported CPU architectures, achieving better performance than scalar computations. Structured concurrency, in an incubator phase in JDK 19, would simplify multithreaded programming via an API. Pattern matching for switch expressions and statements, previewed for a third time in JDK 19, to enhance Java's new functions.
JDK 19 is the open-source reference implementation of version 19 of the Java SE Platform, as specified by JSR 394 in the Java Community Process. JDK 19 reached General Availability on 20 September 2022. Production-ready binaries under the GPL are available from Oracle; binaries from other vendors will follow shortly. The features and schedule of this release were proposed and tracked via the JEP Process, as amended by the JEP 2.0 proposal. The release was produced using the JDK Release Process (JEP 3).
A preview of record patterns, to deconstruct record values. Record patterns and type patterns can be nested to enable a declarative, powerful, and composable form of data navigation and processing. The goals of the proposal include extending pattern matching to express more sophisticated, composable data queries while not changing the syntax or semantics of type patterns. This proposal builds on pattern matching, for instance, delivered in JDK 16 in March 2021. Plans may call for record patterns to be extended with capabilities such as array patterns and vararg patterns. Record patterns are part of Project Amber, an effort to explore and incubate smaller, productivity-oriented Java features.
Join our WhatsApp Channel to get the latest news, exclusives and videos on WhatsApp
_____________
Disclaimer: Analytics Insight does not provide financial advice or guidance. Also note that the cryptocurrencies mentioned/listed on the website could potentially be scams, i.e. designed to induce you to invest financial resources that may be lost forever and not be recoverable once investments are made. You are responsible for conducting your own research (DYOR) before making any investments. Read more here.