Java Omnibus
JavaOmnibus

Java Compatibility Explorer

One canonical page for year-aligned compatibility across Java Language, JLS, Classes, JDK & Tools, runtime, and deployables.
Back to app Open Common Java
Timeline explorer Canonical row matrix Exact JVM/class-file support map

One year, one stack, one compatibility story.

This page combines both compatibility viewpoints into one flagship experience. At the top, you can move year by year through a timeline explorer and see the compatible Java Language, JLS, Classes, and JDK & Tools combination for that point in time. Under that, the complete canonical table keeps the exact row-wise truth visible for comparison, copying, printing, and deeper study.

Primary mode A left-panel timeline with a right-panel compatibility story so the page reads like the rest of the app.
Canonical truth A full row matrix that keeps the exact compatible stack visible for every major Java year and release point.
Why it matters Compatibility is cross-cutting. No matter which vertical you start from, the compatible stack converges here.
Canonical Compatibility Matrix
YearJava LanguageJDK & ToolsClass File FormatRuntimeBuild ToolsFinal DeployableEra
1996Java 1JDK 1.045.3JRE 1.0 / Classic JVMjavac + shell scripts, early Makefile workflowsJAR, desktop app, appletfoundation
1998Java 2JDK 1.246.0JRE 1.2 / Classic JVM + early HotSpot adoptionjavac, Make, early Ant-era practicesJAR, Swing app, servlet/WARfoundation
2000Java 3JDK 1.347.0JRE 1.3 / HotSpot JVMAnt emerging, javac script buildsJAR, WAR, EARfoundation
2002Java 4J2SE 1.448.0JRE 1.4 / HotSpot JVMAnt, IDE-managed builds (Eclipse/NetBeans)JAR, WAR, EARfoundation
2004Java 5JDK 5.049.0JRE 5.0 / HotSpot JVMAnt, Maven 1/2 adoptionJAR, WAR, EARenterprise
2006Java 6Java SE 650.0JRE 6 / HotSpot JVMAnt, Maven 2JAR, WAR, EAR, rich cliententerprise
2011Java 7Java SE 751.0JRE 7 / HotSpot JVMMaven 2/3, Ant, Gradle early adoptionJAR, WAR, EAR, service JVM appenterprise
2014Java 8Java SE 852.0JRE 8 / HotSpot JVMMaven 3, Gradle 2-8, Ant legacy supportFat JAR, WAR, containerized JVM appenterprise
2017Java 9JDK 953.0No separate public JRE; modular runtime image / HotSpot JVMMaven 3.5+, Gradle 4+, jlink-aware pipelinesModular JAR, custom runtime image, container imagemodular
2018Java 10JDK 1054.0Modular runtime image / HotSpot JVMMaven 3.5+, Gradle 4.7+JAR, jlink runtime, container imagemodular
2018Java 11JDK 11 (LTS)55.0Modular runtime image / HotSpot JVMMaven 3.6+, Gradle 5+, Ant legacy supportFat JAR, WAR, jlink runtime, container imagemodular
2019Java 12JDK 1256.0Modular runtime image / HotSpot JVMMaven 3.6+, Gradle 5+JAR, jlink runtime, container imagemodular
2019Java 13JDK 1357.0Modular runtime image / HotSpot JVMMaven 3.6+, Gradle 6+JAR, jlink runtime, container imagemodular
2020Java 14JDK 1458.0Modular runtime image / HotSpot JVMMaven 3.6+, Gradle 6+JAR, jlink runtime, container imagemodular
2020Java 15JDK 1559.0Modular runtime image / HotSpot JVMMaven 3.6+, Gradle 6.7+JAR, jlink runtime, container imagemodular
2021Java 16JDK 1660.0Modular runtime image / HotSpot JVMMaven 3.8+, Gradle 7+JAR, jlink runtime, container imagemodular
2021Java 17JDK 17 (LTS)61.0Modular runtime image / HotSpot JVMMaven 3.8+, Gradle 7+, modern CI pipelinesFat JAR, WAR, jlink runtime, container imagemodern
2022Java 18JDK 1862.0Modular runtime image / HotSpot JVMMaven 3.8+, Gradle 7.4+JAR, jlink runtime, container imagemodern
2022Java 19JDK 1963.0Modular runtime image / HotSpot JVMMaven 3.8+, Gradle 7.6+JAR, jlink runtime, container imagemodern
2023Java 20JDK 2064.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8+JAR, jlink runtime, container imagemodern
2023Java 21JDK 21 (LTS)65.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8+, modern container pipelinesFat JAR, native image optional, jlink runtime, container imagemodern
2024Java 22JDK 2266.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8.6+JAR, jlink runtime, container imagecurrent
2024Java 23JDK 2367.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8.8+JAR, jlink runtime, container imagecurrent
2025Java 24JDK 2468.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8.10+JAR, jlink runtime, container imagecurrent
2025Java 25JDK 2569.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 8.12+, modern CI/CDJAR, jlink runtime, container image, native image optionalcurrent
2026Java 26JDK 2670.0Modular runtime image / HotSpot JVMMaven 3.9+, Gradle 9.x readiness, contemporary CI/CDJAR, jlink runtime, container image, native image optionalcurrent
2027Java 29JDK 29 (planned LTS)73.0 (projected)Projected modular runtime image / HotSpot JVMProjected Maven 4.x readiness, Gradle 9.x+, modern cloud CI/CDJAR, jlink runtime, container image, native image optionalfuture
2029Java 33JDK 33 (projected LTS)77.0 (projected)Projected modular runtime image / HotSpot JVMProjected next-generation Maven/Gradle pipelines and policy-driven CI/CDJAR, container image, native image, curated runtime imagefuture
2031Java 37JDK 37 (projected LTS)81.0 (projected)Projected modular runtime image / HotSpot JVMProjected enterprise build stacks with deeper supply-chain automationJAR, container image, native image, curated runtime imagefuture
2033Java 41JDK 41 (projected LTS)85.0 (projected)Projected modular runtime image / HotSpot JVMProjected cloud-native build pipelines with stronger compliance automationJAR, container image, native image, curated runtime imagefuture
Full Class File / JVM Support Matrix
Java Version4546474849505152535455565758596061626364656667686970
Java 1.0✔xxxxxxxxxxxxxxxxxxxxxxxxx
Java 1.1✔xxxxxxxxxxxxxxxxxxxxxxxxx
Java 1.2✔✔xxxxxxxxxxxxxxxxxxxxxxxx
Java 1.3✔✔✔xxxxxxxxxxxxxxxxxxxxxxx
Java 1.4✔✔✔✔xxxxxxxxxxxxxxxxxxxxxx
Java 5✔✔✔✔✔xxxxxxxxxxxxxxxxxxxxx
Java 6✔✔✔✔✔✔xxxxxxxxxxxxxxxxxxxx
Java 7✔✔✔✔✔✔✔xxxxxxxxxxxxxxxxxxx
Java 8✔✔✔✔✔✔✔✔xxxxxxxxxxxxxxxxxx
Java 9✔✔✔✔✔✔✔✔✔xxxxxxxxxxxxxxxxx
Java 10✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxxxxxxx
Java 11✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxxxxxx
Java 12✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxxxxx
Java 13✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxxxx
Java 14✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxxx
Java 15✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxxx
Java 16✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxxx
Java 17✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxxx
Java 18✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxxx
Java 19✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxxx
Java 20✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxxx
Java 21✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxxx
Java 22✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxxx
Java 23✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xxx
Java 24✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔xx
Java 25✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔x
Java 26✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔✔
Treat this as an educational compatibility guide, then confirm exact vendor, framework, and deployment support for your production workload. Future LTS rows are roadmap-based projections and should be revalidated against official release plans over time.