JetbrainsMarit van DijkExplainer
Java 27 in IntelliJ IDEA
Summary
Java 27, released on September 15, 2026, follows Java’s six-month release cadence and includes nine JEPs: four final features, four previews, and one incubator feature. IntelliJ IDEA supports Java 27 from day one, with setup through Project Structure, automatic JDK configuration from .sdkmanrc or .tool-versions, and language-level controls for stable and preview features. Stable changes include G1 as the default garbage collector in all environments, hybrid post-quantum key exchange for TLS 1.3, compact object headers by default, and JFR in-process data redaction. Preview and incubator work covers lazy constants, primitive types in patterns, instanceof, and switch, PEM cryptographic encodings, and the Vector API, while faster debugger stepping is available through a JDK 27 fix also backported to JBR 25.
Context
Java 27 was released on September 15, 2026, under the six-month release cadence. The release contains nine JEPs, and IntelliJ IDEA supports its stable, preview, and incubator features while also benefiting from selected JDK changes.
Approach / What changed
The setup uses IntelliJ IDEA’s Project Structure to download JDK 27 or add an existing installation, then sets the language level to 27 or 27 (Preview). IntelliJ IDEA can also read .sdkmanrc and .tool-versions files, propagate the project JDK to its terminal, and configure incubator modules through VM options such as --add-modules jdk.incubator.vector.
Takeaways
JEP 523 makes G1 the default garbage collector in all environments; Serial GC remains available explicitly with -XX:+UseSerialGC for applications that perform better with it.
Compact object headers reduce 64-bit object headers from 96 bits to 64 bits, which can reduce JVM memory usage, improve deployment density, and increase data locality.
Preview features are supported only for the current JDK, while incubator features require explicit module activation and are not intended for production use.
FAQ
How do I configure IntelliJ IDEA for Java 27 and its preview features?
Download or add JDK 27 through Project Structure, then set the language level to 27 – No new language features. For preview features, select 27 (Preview) – Primitive types in patterns, instanceof, and switch (5th preview).
What is the difference between Java 27 preview and incubator features?
Preview features are language or platform features that may change before becoming final, and IntelliJ IDEA supports them only for the current JDK. Incubator features are explicitly non-final APIs or tools, may change significantly or be removed, and require an explicit module option at runtime.
Can Java 27 still use Serial GC?
Yes. G1 becomes the default garbage collector in all environments, replacing the previous fallback to Serial GC on machines with one CPU or less than 1,792 MB of RAM. Applications that perform better with Serial can enable it with -XX:+UseSerialGC.
Source and freshness
- Source
- blog.jetbrains.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.