JDK 15 favicon
All About JDK 15
JDK 15 • 2020 • Java 15
Text Blocks (final)Sealed Classes (preview)ZGC productionShenandoah productionHidden ClassesNashorn removed

JDK 15 and the shift from JDK 14

Text Blocks finalised (JEP 378). Sealed Classes (preview). Records (2nd preview). Pattern Matching (2nd preview). Hidden Classes. ZGC production-ready. Nashorn removed. Biased locking deprecated.

Why JDK 15 mattered

The release in context

Text Blocks finalised (JEP 378). Sealed Classes (preview). Records (2nd preview). Pattern Matching (2nd preview). Hidden Classes. ZGC production-ready. Nashorn removed. Biased locking deprecated.

Text Blocks (final)Sealed Classes (preview)ZGC productionShenandoah productionHidden ClassesNashorn removed
  • Text Blocks finalised (JEP 378). Sealed Classes (preview). Records (2nd preview). Pattern Matching (2nd preview). Hidden Classes. ZGC production-ready. Nashorn removed. Biased locking deprecated.
  • Key release highlights included Text Blocks (final), Sealed Classes (preview), ZGC production, Shenandoah production.
  • Compared with JDK 14, the most visible shifts included Sealed Classes (preview), Hidden Classes, Nashorn JS Engine.
  • Text Blocks end Java's multi-line string problem. ZGC graduates. Nashorn (JDK 8) removed.
  • This period shows the JDK balancing language experiments with production-oriented runtime polish.
Platform stack

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

This period shows the JDK balancing language experiments with production-oriented runtime polish.

Java Language Features

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

New Features / Modern APIs

  • Sealed Classes (preview) appeared in JDK 15, adding a new capability in new features / modern apis.
  • Records (2nd preview) was updated in JDK 15, showing active movement in new features / modern apis.
  • Text Blocks (final) was updated in JDK 15, showing active movement in new features / modern apis.
  • Pattern Matching (preview) carried forward from JDK 14 and settled into the baseline by JDK 15.

JVM: Execution Engine & GC

  • Biased Locking (deprecated) started being phased out in JDK 15, signaling a shift away from older platform assumptions.
  • Shenandoah GC (production) was updated in JDK 15, showing active movement in jvm: execution engine & gc.
  • ZGC (production) was updated in JDK 15, showing active movement in jvm: execution engine & gc.
  • ZGC (macOS/Windows port) moved from active change in JDK 14 into a more stable baseline by JDK 15.
Matrix slice

Quick comparison table: JDK 14 vs JDK 15

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 14 JDK 15 Why it stands out
Java Language Features Sealed Classes (preview) Not present NEW Sealed Classes (preview) appeared in JDK 15, adding a new capability in java language features.
New Features / Modern APIs Sealed Classes (preview) Not present NEW Sealed Classes (preview) appeared in JDK 15, adding a new capability in new features / modern apis.
Other Base Libraries Hidden Classes Not present NEW Hidden Classes appeared in JDK 15, adding a new capability in other base libraries.
lang and util Base Libraries Nashorn JS Engine Not present Removed Nashorn JS Engine no longer carried the same role in JDK 15, marking a meaningful platform cleanup.
Deployment Applet / Java Plug-in Deprecated Deprecated Applet / Java Plug-in started being phased out in JDK 15, signaling a shift away from older platform assumptions.
Deployment Java Web Start Deprecated Deprecated Java Web Start started being phased out in JDK 15, signaling a shift away from older platform assumptions.
JVM: Execution Engine & GC Biased Locking (deprecated) Not present Deprecated Biased Locking (deprecated) started being phased out in JDK 15, signaling a shift away from older platform assumptions.
JVM: Execution Engine & GC Shenandoah GC (production) Not present UPD Shenandoah GC (production) was updated in JDK 15, showing active movement in jvm: execution engine & gc.
JVM: Memory Management ZGC production Not present UPD ZGC production was updated in JDK 15, showing active movement in jvm: memory management.
Java Language Features Pattern Matching instanceof (2nd preview) Not present UPD Pattern Matching instanceof (2nd preview) was updated in JDK 15, showing active movement in java language features.
New Features / Modern APIs Records (2nd preview) Not present UPD Records (2nd preview) was updated in JDK 15, showing active movement in new features / modern apis.
Other Base Libraries Foreign-Memory Access (incubator) Not present Present Foreign-Memory Access (incubator) appeared in JDK 15, adding a new capability in other base libraries.
JVM: Memory Management ZGC (macOS+Windows) UPD Present ZGC (macOS+Windows) moved from active change in JDK 14 into a more stable baseline by JDK 15.
JVM: Native Method Interface Foreign-Memory API (incubator) NEW Present Foreign-Memory API (incubator) carried forward from JDK 14 and settled into the baseline by JDK 15.
Structured comparison

Grouped reading of the release shift

Text Blocks end Java's multi-line string problem. ZGC graduates. Nashorn (JDK 8) removed.

Java Language Features
New in JDK 15
  • Sealed Classes (preview)
  • Switch Expressions
  • Pattern Matching instanceof (preview)
  • Records (preview)
Updated by JDK 15
  • Pattern Matching instanceof (2nd preview)
  • Records (2nd preview)
  • Text Blocks (final)
  • Switch Expressions (final)
  • Text Blocks (2nd preview)
New Features / Modern APIs
New in JDK 15
  • Sealed Classes (preview)
  • Pattern Matching (preview)
  • Records (preview)
Updated by JDK 15
  • Records (2nd preview)
  • Text Blocks (final)
  • Switch Expressions (final)
JVM: Execution Engine & GC
New in JDK 15
  • Baseline continuity into JDK 15
Updated by JDK 15
  • Biased Locking (deprecated)
  • Shenandoah GC (production)
  • ZGC (production)
  • ZGC (macOS/Windows port)
Historical platform profile

Release narrative

Text Blocks finalised (JEP 378). Sealed Classes (preview). Records (2nd preview). Pattern Matching (2nd preview). Hidden Classes. ZGC production-ready. Nashorn removed. Biased locking deprecated.

Text Blocks end Java's multi-line string problem. ZGC graduates. Nashorn (JDK 8) removed.

Text Blocks (final)Sealed Classes (preview)ZGC productionShenandoah productionHidden ClassesNashorn removed
Why it mattered later

Why JDK 15 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 15 sits in the timeline as a feature release, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for Text Blocks (final), Sealed Classes (preview), ZGC production.
  • Compared with JDK 14, it gives a clearer picture of how the JDK platform was evolving release by release.
  • Text Blocks end Java's multi-line string problem. ZGC graduates. Nashorn (JDK 8) removed.
Related pages

Continue through the platform story