JDK 14 favicon
All About JDK 14
JDK 14 • 2020 • Java 14
Switch Expressions (final)Records (preview)Pattern Matching (preview)Helpful NPEjpackageForeign-Memory API

JDK 14 and the shift from JDK 13

Switch Expressions finalised (JEP 361). Records (preview). Pattern Matching for instanceof (preview). Helpful NullPointerExceptions. Text Blocks second preview. jpackage (incubator). Foreign-Memory Access API (incubator).

Why JDK 14 mattered

The release in context

Switch Expressions finalised (JEP 361). Records (preview). Pattern Matching for instanceof (preview). Helpful NullPointerExceptions. Text Blocks second preview. jpackage (incubator). Foreign-Memory Access API (incubator).

Switch Expressions (final)Records (preview)Pattern Matching (preview)Helpful NPEjpackageForeign-Memory API
  • Switch Expressions finalised (JEP 361). Records (preview). Pattern Matching for instanceof (preview). Helpful NullPointerExceptions. Text Blocks second preview. jpackage (incubator). Foreign-Memory Access API (incubator).
  • Key release highlights included Switch Expressions (final), Records (preview), Pattern Matching (preview), Helpful NPE.
  • Compared with JDK 13, the most visible shifts included Foreign-Memory API (incubator), Pattern Matching instanceof (preview), Records (preview).
  • Switch Expressions finalised. Records and Pattern Matching begin their preview journey toward JDK 16.
  • The developer experience became more focused on data-oriented modeling, clarity, and better diagnostics.
Platform stack

JDK 14 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 13 to JDK 14

The developer experience became more focused on data-oriented modeling, clarity, and better diagnostics.

Java Language Features

  • Pattern Matching instanceof (preview) appeared in JDK 14, adding a new capability in java language features.
  • Records (preview) appeared in JDK 14, adding a new capability in java language features.
  • Switch Expressions (final) was updated in JDK 14, showing active movement in java language features.
  • Text Blocks (2nd preview) was updated in JDK 14, showing active movement in java language features.

New Features / Modern APIs

  • Pattern Matching (preview) appeared in JDK 14, adding a new capability in new features / modern apis.
  • Records (preview) appeared in JDK 14, adding a new capability in new features / modern apis.
  • Switch Expressions (final) was updated in JDK 14, showing active movement in new features / modern apis.
  • Switch Expressions (2nd preview) moved from active change in JDK 13 into a more stable baseline by JDK 14.

Other Base Libraries

  • Foreign-Memory Access API (incubator) appeared in JDK 14, adding a new capability in other base libraries.
  • Helpful NullPointerExceptions appeared in JDK 14, adding a new capability in other base libraries.
  • Dynamic CDS Archives carried forward from JDK 13 and settled into the baseline by JDK 14.
  • Socket API (reimplemented) moved from active change in JDK 13 into a more stable baseline by JDK 14.
Matrix slice

Quick comparison table: JDK 13 vs JDK 14

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 13 JDK 14 Why it stands out
JVM: Native Method Interface Foreign-Memory API (incubator) Not present NEW Foreign-Memory API (incubator) appeared in JDK 14, adding a new capability in jvm: native method interface.
Java Language Features Pattern Matching instanceof (preview) Not present NEW Pattern Matching instanceof (preview) appeared in JDK 14, adding a new capability in java language features.
Java Language Features Records (preview) Not present NEW Records (preview) appeared in JDK 14, adding a new capability in java language features.
New Features / Modern APIs Pattern Matching (preview) Not present NEW Pattern Matching (preview) appeared in JDK 14, adding a new capability in new features / modern apis.
New Features / Modern APIs Records (preview) Not present NEW Records (preview) appeared in JDK 14, adding a new capability in new features / modern apis.
Other Base Libraries Foreign-Memory Access API (incubator) Not present NEW Foreign-Memory Access API (incubator) appeared in JDK 14, adding a new capability in other base libraries.
Other Base Libraries Helpful NullPointerExceptions Not present NEW Helpful NullPointerExceptions appeared in JDK 14, adding a new capability in other base libraries.
Tools & Tool APIs jpackage (incubator) Not present NEW jpackage (incubator) appeared in JDK 14, adding a new capability in tools & tool apis.
Deployment Applet / Java Plug-in Deprecated Deprecated Applet / Java Plug-in started being phased out in JDK 14, signaling a shift away from older platform assumptions.
Deployment Java Web Start Deprecated Deprecated Java Web Start started being phased out in JDK 14, signaling a shift away from older platform assumptions.
JVM: Execution Engine & GC ZGC (macOS/Windows port) Not present UPD ZGC (macOS/Windows port) was updated in JDK 14, showing active movement in jvm: execution engine & gc.
JVM: Memory Management ZGC (macOS+Windows) Not present UPD ZGC (macOS+Windows) was updated in JDK 14, showing active movement in jvm: memory management.
JVM: Execution Engine & GC ZGC (uncommit memory) UPD Present ZGC (uncommit memory) moved from active change in JDK 13 into a more stable baseline by JDK 14.
JVM: Memory Management Dynamic CDS NEW Present Dynamic CDS carried forward from JDK 13 and settled into the baseline by JDK 14.
Structured comparison

Grouped reading of the release shift

Switch Expressions finalised. Records and Pattern Matching begin their preview journey toward JDK 16.

Java Language Features
New in JDK 14
  • Pattern Matching instanceof (preview)
  • Records (preview)
  • Text Blocks (preview)
Updated by JDK 14
  • Switch Expressions (final)
  • Text Blocks (2nd preview)
  • Switch Expressions (2nd preview, yield)
New Features / Modern APIs
New in JDK 14
  • Pattern Matching (preview)
  • Records (preview)
  • Text Blocks (preview)
Updated by JDK 14
  • Switch Expressions (final)
  • Switch Expressions (2nd preview)
Other Base Libraries
New in JDK 14
  • Foreign-Memory Access API (incubator)
  • Helpful NullPointerExceptions
  • Dynamic CDS Archives
Updated by JDK 14
  • Socket API (reimplemented)
Historical platform profile

Release narrative

Switch Expressions finalised (JEP 361). Records (preview). Pattern Matching for instanceof (preview). Helpful NullPointerExceptions. Text Blocks second preview. jpackage (incubator). Foreign-Memory Access API (incubator).

Switch Expressions finalised. Records and Pattern Matching begin their preview journey toward JDK 16.

Switch Expressions (final)Records (preview)Pattern Matching (preview)Helpful NPEjpackageForeign-Memory API
Why it mattered later

Why JDK 14 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 14 sits in the timeline as a feature release, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for Switch Expressions (final), Records (preview), Pattern Matching (preview).
  • Compared with JDK 13, it gives a clearer picture of how the JDK platform was evolving release by release.
  • Switch Expressions finalised. Records and Pattern Matching begin their preview journey toward JDK 16.
Related pages

Continue through the platform story