JDK 11 favicon
All About JDK 11
JDK 11 • 2018 • Java 11
HTTP Client (final)TLS 1.3JFR open-sourceZGCCORBA removedApplets deprecated

JDK 11 and the shift from JDK 10

LTS. JRE and JDK merged — separate JRE no longer distributed. HTTP Client API finalised (JEP 321). var in lambda params. TLS 1.3. Java EE and CORBA modules removed. Flight Recorder open-sourced.

Why JDK 11 mattered

The release in context

LTS. JRE and JDK merged — separate JRE no longer distributed. HTTP Client API finalised (JEP 321). var in lambda params. TLS 1.3. Java EE and CORBA modules removed. Flight Recorder open-sourced.

HTTP Client (final)TLS 1.3JFR open-sourceZGCCORBA removedApplets deprecated
  • LTS. JRE and JDK merged — separate JRE no longer distributed. HTTP Client API finalised (JEP 321). var in lambda params. TLS 1.3. Java EE and CORBA modules removed. Flight Recorder open-sourced.
  • Key release highlights included HTTP Client (final), TLS 1.3, JFR open-source, ZGC.
  • Compared with JDK 10, the most visible shifts included Epsilon GC (no-op), ZGC (experimental), ZGC region-based.
  • LTS. JRE no longer separate. Java EE/CORBA gone (become Jakarta EE). HTTP Client finally stable.
  • The platform leaned harder into modern deployment and observability while also reflecting removals and cleanup from older bundled technologies.
Platform stack

JDK 11 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 10 to JDK 11

The platform leaned harder into modern deployment and observability while also reflecting removals and cleanup from older bundled technologies.

Java Language Features

  • Files::readString/writeString appeared in JDK 11, adding a new capability in java language features.
  • String::strip/lines/repeat/isBlank appeared in JDK 11, adding a new capability in java language features.
  • var in lambda params appeared in JDK 11, adding a new capability in java language features.
  • var (LVTI) appeared in JDK 11, adding a new capability in java language features.

New Features / Modern APIs

  • Collection.of() factory appeared in JDK 11, adding a new capability in new features / modern apis.
  • Predicate.not() appeared in JDK 11, adding a new capability in new features / modern apis.
  • HTTP Client API (final) was updated in JDK 11, showing active movement in new features / modern apis.
  • List / Map / Set copyOf carried forward from JDK 10 and settled into the baseline by JDK 11.

JVM: Execution Engine & GC

  • Epsilon GC (no-op) appeared in JDK 11, adding a new capability in jvm: execution engine & gc.
  • ZGC (experimental) appeared in JDK 11, adding a new capability in jvm: execution engine & gc.
  • G1 GC (default) appeared in JDK 11, adding a new capability in jvm: execution engine & gc.
  • G1 GC (parallel full GC) moved from active change in JDK 10 into a more stable baseline by JDK 11.
Matrix slice

Quick comparison table: JDK 10 vs JDK 11

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 10 JDK 11 Why it stands out
JVM: Execution Engine & GC Epsilon GC (no-op) Not present NEW Epsilon GC (no-op) appeared in JDK 11, adding a new capability in jvm: execution engine & gc.
JVM: Execution Engine & GC ZGC (experimental) Not present NEW ZGC (experimental) appeared in JDK 11, adding a new capability in jvm: execution engine & gc.
JVM: Memory Management ZGC region-based Not present NEW ZGC region-based appeared in JDK 11, adding a new capability in jvm: memory management.
Java Language Features Files::readString/writeString Not present NEW Files::readString/writeString appeared in JDK 11, adding a new capability in java language features.
Java Language Features String::strip/lines/repeat/isBlank Not present NEW String::strip/lines/repeat/isBlank appeared in JDK 11, adding a new capability in java language features.
New Features / Modern APIs Collection.of() factory Not present NEW Collection.of() factory appeared in JDK 11, adding a new capability in new features / modern apis.
New Features / Modern APIs Predicate.not() Not present NEW Predicate.not() appeared in JDK 11, adding a new capability in new features / modern apis.
Tools & Tool APIs Flight Recorder (production) Not present NEW Flight Recorder (production) appeared in JDK 11, 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 11, signaling a shift away from older platform assumptions.
Deployment Java Web Start Deprecated Deprecated Java Web Start started being phased out in JDK 11, signaling a shift away from older platform assumptions.
Integration Libraries CORBA Present Deprecated CORBA started being phased out in JDK 11, signaling a shift away from older platform assumptions.
Integration Libraries IDL Present Deprecated IDL started being phased out in JDK 11, signaling a shift away from older platform assumptions.
Other Base Libraries HTTP Client API (final) Not present UPD HTTP Client API (final) was updated in JDK 11, showing active movement in other base libraries.
Other Base Libraries Security (TLS 1.3) Not present UPD Security (TLS 1.3) was updated in JDK 11, showing active movement in other base libraries.
Structured comparison

Grouped reading of the release shift

LTS. JRE no longer separate. Java EE/CORBA gone (become Jakarta EE). HTTP Client finally stable.

Java Language Features
New in JDK 11
  • Files::readString/writeString
  • String::strip/lines/repeat/isBlank
  • var in lambda params
  • var (LVTI)
  • Unmodifiable Collection copies
Updated by JDK 11
  • Steady platform carry-forward in JDK 11
New Features / Modern APIs
New in JDK 11
  • Collection.of() factory
  • Predicate.not()
  • List / Map / Set copyOf
  • var (LVTI)
Updated by JDK 11
  • HTTP Client API (final)
JVM: Execution Engine & GC
New in JDK 11
  • Epsilon GC (no-op)
  • ZGC (experimental)
  • G1 GC (default)
  • Thread-local Handshakes
Updated by JDK 11
  • G1 GC (parallel full GC)
Historical platform profile

Release narrative

LTS. JRE and JDK merged — separate JRE no longer distributed. HTTP Client API finalised (JEP 321). var in lambda params. TLS 1.3. Java EE and CORBA modules removed. Flight Recorder open-sourced.

LTS. JRE no longer separate. Java EE/CORBA gone (become Jakarta EE). HTTP Client finally stable.

HTTP Client (final)TLS 1.3JFR open-sourceZGCCORBA removedApplets deprecated
Why it mattered later

Why JDK 11 matters in the JDK timeline

This JDK milestone matters as a long-term operational anchor, so it is especially important for migration planning, baselining, and enterprise adoption.

  • JDK 11 sits in the timeline as a lts anchor, which shaped how teams evaluated and adopted it.
  • It is commonly remembered for HTTP Client (final), TLS 1.3, JFR open-source.
  • Compared with JDK 10, it gives a clearer picture of how the JDK platform was evolving release by release.
  • LTS. JRE no longer separate. Java EE/CORBA gone (become Jakarta EE). HTTP Client finally stable.
Related pages

Continue through the platform story