GitHub
The Java Version Almanac
javaalmanac.io
Feedback on this page?

Java 21

Status Long Term Support Release
Release Date 2023-09-19
EOL Date 2029-12
Latest Version 21.0.8
Umbrella JSR JSR 396
Class File Version 65.0
Unicode Version 15.0.0
API Changes Compare to 20 - 19 - 18 - 17 - 16 - 15 - 14 - 13 - 12 - 11 - 10 - 9 - 8 - 7 - 6 - 5 - 1.4 - 1.3 - 1.2 - 1.1 - 1.0
Documentation Release Notes, Language Spec, VM Spec, JavaDoc
SCM git
Java 21 is a current long term support (LTS) release.

New Features

Here are all new features in Java 21 by category. There is also of list of all features of all Java releases.

JVM

Language

API

Should I Upgrade?

With Java 21 you're running on a actively maintained long term support (LTS) version - which is good. The currently planned end-of-life date for this version within the OpenJDK project is 2029-12.

However, you might consider upgrading to a newer LTS version Java 25 to get advantage of the latest features and improvements.

Downloads

Vendor Product License Platform Downloads
Adoptium Eclipse Temurin GPLv2+CE
Amazon Corretto 21 GPLv2+CE
Azul Systems Zulu Builds of OpenJDK 21 GPLv2+CE
Azul Systems Azul Prime Commercial
  • linux-x64
  • linux-arm64
BellSoft Liberica GPLv2+CE
IBM Semeru Runtime Open Edition, Version 21 GPLv2+CE
Microsoft Microsoft Build of OpenJDK 21 GPLv2+CE
Oracle Oracle JDK 21 Oracle No-Fee
Red Hat Red Hat build of OpenJDK 21 GPLv2+CE
SAP SapMachine 21 GPLv2+CE

Sandbox

Instantly compile and run Java 21 snippets without a local Java installation.

import java.lang.reflect.ClassFileFormatVersion; public class Java21 { public static void main(String[] args) { var v = ClassFileFormatVersion.latest(); System.out.printf("Hello Java bytecode version %s!", v.major()); } }