JDK 19 favicon
All About JDK 19
JDK 19 • 2022 • Java 19
Virtual Threads (preview)Structured Concurrency (incubator)Record Patterns (preview)FFM API (preview)Pattern Matching switch (3rd)

JDK 19 and the shift from JDK 18

Virtual Threads (preview, Project Loom JEP 425). Structured Concurrency (incubator). Pattern Matching switch (3rd preview). Record Patterns (preview). Foreign Function & Memory API (preview). Vector API (4th incubator).

Why JDK 19 mattered

The release in context

Virtual Threads (preview, Project Loom JEP 425). Structured Concurrency (incubator). Pattern Matching switch (3rd preview). Record Patterns (preview). Foreign Function & Memory API (preview). Vector API (4th incubator).

Virtual Threads (preview)Structured Concurrency (incubator)Record Patterns (preview)FFM API (preview)Pattern Matching switch (3rd)
  • Virtual Threads (preview, Project Loom JEP 425). Structured Concurrency (incubator). Pattern Matching switch (3rd preview). Record Patterns (preview). Foreign Function & Memory API (preview). Vector API (4th incubator).
  • Key release highlights included Virtual Threads (preview), Structured Concurrency (incubator), Record Patterns (preview), FFM API (preview).
  • Compared with JDK 18, the most visible shifts included Virtual Thread Stack (preview), Record Patterns (preview), Structured Concurrency (incubator).
  • Virtual Threads preview marks the most significant concurrency change in Java since java.util.concurrent (JDK 5).
  • It signaled a major rethink of scalable Java concurrency while staying inside the regular release cadence.
Platform stack

JDK 19 architecture preview

This larger diagram expands the smaller JDK badge into a layered platform view showing how the development kit, runtime, virtual machine, APIs, tools, and supporting subsystems fit together for this release.

Previous-version diff

What changed from JDK 18 to JDK 19

It signaled a major rethink of scalable Java concurrency while staying inside the regular release cadence.

New Features / Modern APIs

  • Record Patterns (preview) appeared in JDK 19, adding a new capability in new features / modern apis.
  • Structured Concurrency (incubator) appeared in JDK 19, adding a new capability in new features / modern apis.
  • Virtual Threads (preview) appeared in JDK 19, adding a new capability in new features / modern apis.
  • Foreign Function & Memory API (preview) was updated in JDK 19, showing active movement in new features / modern apis.

Java Language Features

  • Record Patterns (preview) appeared in JDK 19, adding a new capability in java language features.
  • Pattern Matching switch (3rd preview) was updated in JDK 19, showing active movement in java language features.
  • @snippet Javadoc carried forward from JDK 18 and settled into the baseline by JDK 19.
  • Pattern Matching switch (2nd preview) moved from active change in JDK 18 into a more stable baseline by JDK 19.

JVM: Native Method Interface

  • Foreign Function & Memory (preview) was updated in JDK 19, showing active movement in jvm: native method interface.
  • Foreign Function & Memory (incubator) moved from active change in JDK 18 into a more stable baseline by JDK 19.
Matrix slice

Quick comparison table: JDK 18 vs JDK 19

This side-by-side view turns the source evolution matrix into a faster way to see which language, tooling, runtime, and platform layers moved between these two releases.

Area Component JDK 18 JDK 19 Why it stands out
JVM: Runtime Data Areas Virtual Thread Stack (preview) Not present NEW Virtual Thread Stack (preview) appeared in JDK 19, adding a new capability in jvm: runtime data areas.
Java Language Features Record Patterns (preview) Not present NEW Record Patterns (preview) appeared in JDK 19, adding a new capability in java language features.
New Features / Modern APIs Record Patterns (preview) Not present NEW Record Patterns (preview) appeared in JDK 19, adding a new capability in new features / modern apis.
New Features / Modern APIs Structured Concurrency (incubator) Not present NEW Structured Concurrency (incubator) appeared in JDK 19, adding a new capability in new features / modern apis.
Deployment Applet API Deprecated Deprecated Applet API started being phased out in JDK 19, signaling a shift away from older platform assumptions.
JVM: Native Method Interface Foreign Function & Memory (preview) Not present UPD Foreign Function & Memory (preview) was updated in JDK 19, showing active movement in jvm: native method interface.
Java Language Features Pattern Matching switch (3rd preview) Not present UPD Pattern Matching switch (3rd preview) was updated in JDK 19, showing active movement in java language features.
Tools & Tool APIs jwebserver Not present Present jwebserver appeared in JDK 19, adding a new capability in tools & tool apis.
JVM: Native Method Interface Foreign Function & Memory (incubator) UPD Present Foreign Function & Memory (incubator) moved from active change in JDK 18 into a more stable baseline by JDK 19.
Other Base Libraries Internet-Address Resolution SPI NEW Present Internet-Address Resolution SPI carried forward from JDK 18 and settled into the baseline by JDK 19.
Tools & Tool APIs jwebserver (Simple Web Server) NEW Present jwebserver (Simple Web Server) carried forward from JDK 18 and settled into the baseline by JDK 19.
Other Base Libraries Finalization (deprecated) Deprecated Not present Finalization (deprecated) no longer carried the same role in JDK 19, marking a meaningful platform cleanup.
Structured comparison

Grouped reading of the release shift

Virtual Threads preview marks the most significant concurrency change in Java since java.util.concurrent (JDK 5).

New Features / Modern APIs
New in JDK 19
  • Record Patterns (preview)
  • Structured Concurrency (incubator)
  • Virtual Threads (preview)
Updated by JDK 19
  • Foreign Function & Memory API (preview)
  • Foreign Function & Memory API (2nd incubator)
  • Pattern Matching switch (2nd preview)
  • Vector API (3rd incubator)
Java Language Features
New in JDK 19
  • Record Patterns (preview)
  • @snippet Javadoc
  • UTF-8 default charset
Updated by JDK 19
  • Pattern Matching switch (3rd preview)
  • Pattern Matching switch (2nd preview)
JVM: Native Method Interface
New in JDK 19
  • Baseline continuity into JDK 19
Updated by JDK 19
  • Foreign Function & Memory (preview)
  • Foreign Function & Memory (incubator)
Historical platform profile

Release narrative

Virtual Threads (preview, Project Loom JEP 425). Structured Concurrency (incubator). Pattern Matching switch (3rd preview). Record Patterns (preview). Foreign Function & Memory API (preview). Vector API (4th incubator).

Virtual Threads preview marks the most significant concurrency change in Java since java.util.concurrent (JDK 5).

Virtual Threads (preview)Structured Concurrency (incubator)Record Patterns (preview)FFM API (preview)Pattern Matching switch (3rd)
Why it mattered later

Why JDK 19 matters in the JDK timeline

This release fits into the steady JDK cadence where tooling, runtime behavior, and delivery capabilities evolve one step at a time.

  • JDK 19 sits in the timeline as a concurrency shift, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for Virtual Threads (preview), Structured Concurrency (incubator), Record Patterns (preview).
  • Compared with JDK 18, it gives a clearer picture of how the JDK platform was evolving release by release.
  • Virtual Threads preview marks the most significant concurrency change in Java since java.util.concurrent (JDK 5).
Related pages

Continue through the platform story