JDK 19: the New Features in Java 19
Java Development Kit 19, a non-LTS (long-term support) release of standard Java, arrives today as a production release.
Seven features target the release including structured concurrency, record patterns, a preview of a foreign function and memory API, and support for the open source Linux/RISC-V instruction set architecture (ISA). All features but the Linux/RISC-V capability are either in preview or incubator phases.
JDK 19 follows the March 22 arrival of JDK 18. Standard Java has been on a six-month release cadence for five years, with JDK 19 being the tenth six-month release.
JDK 19 is available at oracle.com. The production release follows two release candidates and two rampdown phases, dating back to June. The JDK 19 features include:
- Structured concurrency, in an incubator phase, is intended to simplify multithreaded programming through a structured concurrency API. [...]
- 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. [...]
- A preview of a foreign function and memory API, which would introduce an API by which Java programs can interoperate with code and data outside the Java runtime. [...]
- A preview of virtual threads, which are lightweight threads that dramatically reduce the effort of writing, maintaining, and observing high-throughput, concurrent applications. [...]
- A third preview of pattern matching for switch expressions and statements, extending pattern matching to switch, to allow an expression to be tested against a number of patterns, each with a specific action, so complex data-oriented queries can be expressed concisely and safely. [...]
- A fourth incubation of a vector API that would express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations. [...]
- With the Linux/RISC-V port, Java would gain support for a hardware instruction set that is already supported by a wide range of language toolchains. [...]
The port would support the following HotSpot VM options: the template interpreter, C1 (client) JIT compiler, C2 (server) JIT compiler, and all current mainline garbage collectors including ZGC and Shenandoah.[...]
Like JDK 18, JDK 19 is due to be a short-term release, with only six months of top-level, Premier support.
Oracle Releases Java 19 With Seven Significant Enhancements
Oracle brews Java 19. Mmmm, kinda tastes like RISC-V
In its evangelizing slide deck accompanying this release, Oracle ranks Java as the "#1 language for today's technology trends" and the "#1 language in overall development organizational use." The company also cites consultancy VDC Research's findings that "Java is #1 choice for cloud."
When measured in more general terms, Java ranks #2 or #3 or #5, depending upon which programming language survey gets cited. But programming language popularity alone, however that gets measured, doesn't necessarily build an ecosystem.
Suffice it to say that Java continues to be extremely important to Oracle, to the estimated 10 million Java developers wandering the world, and to 60 billion active Java Virtual Machines (JVMs) that rely on a 27-year-old programming language.