Skip to content

Build Not yet confirmed elsewhere1 publisher 3 min read Published

JDK 27's nine JEPs are frozen, and two of them change your defaults

The feature list is fixed until the September 15 ship date. Five items are previews you have to ask for; two are HotSpot defaults that apply whether you read the notes or not.

The Engineer · Build desk

Send a correction

What happened

  • Two of the nine JEPs change default behaviour: G1 becomes the default collector in all environments, and compact object headers are on by default.
  • Five of the nine are preview or incubator items, including a seventh preview of structured concurrency and a twelfth incubation of the Vector API.
  • The formal release date is September 15, 2026.

Why it matters

  • Who has to decide decision Upgrade testing for JDK 27 has to be aimed at collector behaviour and object footprint, not at the preview features that fill most of the JEP list.
  • What it limits constraint With the fork done, nobody can argue either default out of the release; the only remaining route is a critical bug approved through Fix-Request, so the tuning happens on your side of the JVM boundary.
  • Who's exposed exposure Any deployment that was not already getting G1 inherits a different collector without a flag change, and the phrase "all environments" does not say which deployments those are.
  • What it sets up precedent Teams building on the Vector API should budget for further incubations rather than a stable API, since promotion waits on Valhalla previews that have not arrived.

Two phrases in the HotSpot titles do the work. "In all environments" [6] only means something if some environments currently get a collector other than G1. "By default" [7] only means something if compact object headers are currently opt-in. Neither of those changes requires anything from you to take effect, and that is the whole difference between them and the five preview and incubator items on the list [16]. Code that never touches Lazy Constants or the Vector API is untouched by their arrival. A heap gets the collector the JVM picks, read notes or not.

The argument about that is over. The feature set was fixed when the main line forked to the stabilization repository in early June 2026 [2], and only critical bugs approved through the Fix-Request process can move now [3]. That leaves roughly three months of stabilization [18] in which the available lever is not the JDK's default but your own command line.

It is worth counting what the nine actually are. Structured concurrency arrives as a seventh preview, after six previews in JDK 21 through 26 and two incubator rounds in 19 and 20 [12], which makes JDK 27 the ninth consecutive release to carry it [15]. The Vector API enters a twelfth incubation with no substantial implementation change since JDK 25, and will not be promoted to preview until the Project Valhalla features it depends on are themselves available as previews [13]. Primitive types in patterns reaches a fifth preview, with tighter dominance checks in switch and a revised definition of unconditional exactness [11]. These are the items with the longest paper trail and the least effect on a service you deploy tomorrow.

The third HotSpot item is the one that lands in an existing operations pipeline rather than a language feature backlog. JEP 536 has JDK Flight Recorder redact sensitive data before a recording completes, and the source names command-line arguments among the data in scope [8]. If your recordings are currently scrubbed after the fact, part of that job moves inside the JVM, and the part that stays yours is the part you still have to demonstrate to whoever asks.

The release itself is the second non-LTS since JDK 25 [4][14], so the population that adopts it in September is self-selecting: teams who follow releases. That is the audience least likely to be surprised by a default collector change, and the one whose bug reports determine what the next set of adopters inherits. According to InfoQ's summary of the release candidate, declared by Oracle's Mark Reinhold [1], the nine JEPs span four categories [5]; the categories are how the release is described, not how it is felt. Five things you must request, two things that happen anyway, one change to your telemetry, and one post-quantum key exchange for TLS 1.3 [10] is a more useful partition for anyone planning an upgrade window.

What to watch

  • Whether any Fix-Request is approved against JEP 523 or JEP 534 between the release candidate and September 15.
  • Reports from early JDK 27 adopters on footprint and pause behaviour in small containers that previously ran a different default collector.
  • Whether JDK 28 finally lists Valhalla preview features, which is the gate the Vector API's promotion is waiting on.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence71
Adoption18
Hype gap+9
Incentives34
Confidence66
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    JDK 27 has reached its first release candidate, as declared by Mark Reinhold, Chief Architect, Java Platform Group at Oracle.

    Reported Supported Source: InfoQView cited source
  2. [2]

    The main-line source repository was forked to the JDK stabilization repository in early-June 2026 (Rampdown Phase One), which defines the feature set for JDK 27.

    Reported SupportedView cited source
  3. [3]

    Critical bugs, such as regressions or serious functionality issues, may be addressed after the fork, but must be approved via the Fix-Request process.

    Reported SupportedView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. infoq.com

    1 article · August 23, 2026

    JDK 27 and JDK 28: What We Know So Far

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

  • Post-Quantum and Cryptographic APIsFollow
  • JDK Preview and Incubator FeaturesFollow
  • Java Platform ReleasesFollow
  • JVM Defaults and Memory FootprintFollow
  • Structured Concurrency and Project LoomFollow
  • Observability Data RedactionFollow

Entities

Loading related stories