11.0.31

Latest release in branch Java SE 11
Released 21 Apr 2026 (16 days ago)

SoftwareJava/Java SE
BranchJava SE 11
StatusLTS
Supported
Initial release11
25 Sep 2018 (7 years ago)
Latest release11.0.31
21 Apr 2026 (16 days ago)
Java class file format major version55.0
End of
premier support
Sep 2023 (Ended 2 years, 7 months ago)
End of
extended support
Jan 2032 (Ends in 5 years, 8 months)
Release noteshttps://www.oracle.com/java/technologies/javase/11-0-31-relnotes.html
Documentationhttps://docs.oracle.com/javase/11
Downloadhttps://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
Java/Java SE Java SE 11 ReleasesView full list

What is New in Java 11

Java 11 is a Long-Term Support (LTS) release that focuses on cleaning up the platform by removing outdated modules and tools while adding modern features. It standardizes the HTTP Client, introduces new garbage collectors, enhances security with TLS 1.3 and better cryptography, and improves the language with local-variable syntax for lambdas and easier single-file program execution.

Language Improvements

Local-Variable Syntax for Lambda Parameters

You can now use var to declare lambda parameters, allowing annotations like @NonNull for better type inference and readability.

(var x, var y) -> x + y
(@NonNull var s) -> s.length()
Launch Single-File Source-Code Programs

Run a Java program directly from a single source file without compiling first. This is great for quick scripts and learning.

java HelloWorld.java
Nest-Based Access Control

Classes in the same nest (like inner classes) can access each other's private members directly, without needing synthetic methods.

HTTP Client (Standard)

The modern HTTP Client, previously incubated, is now a standard feature in java.net.http. It supports HTTP/1.1 and HTTP/2, WebSocket, and asynchronous requests for cleaner networking code.

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://example.com"))
    .build();
client.sendAsync(request, BodyHandlers.ofString())
    .thenApply(HttpResponse::body)
    .thenAccept(System.out::println);

Security Enhancements

TLS 1.3 Support

Full implementation of the latest TLS protocol for stronger encryption, better performance, and forward secrecy.

ChaCha20 and Poly1305 Algorithms

New cryptographic ciphers as secure alternatives to older ones like RC4.

Curve25519 and Curve448 Key Agreement

Modern elliptic curve cryptography for key exchange.

Flight Recorder

Low-overhead profiling tool now fully available for monitoring and diagnostics.

Garbage Collection Updates

ZGC (Experimental)

A scalable low-latency garbage collector with pause times under 10ms, even for large heaps.

Epsilon GC (Experimental)

A no-op collector that allocates memory but never reclaims it, useful for short-lived apps or testing.

Other Notable Additions

- Support for Unicode 10 with thousands of new characters and emoji.

- Low-overhead heap profiling for better memory analysis.

- Dynamic class-file constants for more efficient bytecode.

- New default method in Collection.toArray for type-safe arrays.

Major Removals

Java 11 removes several legacy components to streamline the platform:

Removed Feature Description
Java EE and CORBA Modules Modules like JAXB, JAX-WS, and CORBA are no longer included; use external dependencies instead.
JavaFX Moved to a separate project (OpenJFX).
Java Mission Control Now available as a separate download.
Applets and Web Start Deployment technologies fully removed.
Related Tools Tools like wsgen, wsimport, and idlj are gone.

Deprecations

- Nashorn JavaScript Engine and jjs tool are deprecated.

- Pack200 tools and API are marked for future removal.

- Security Manager is deprecated in favor of modern alternatives.

Why Upgrade to Java 11

As an LTS release, Java 11 provides long-term support and stability for production use. It modernizes the platform by removing old baggage, adds secure and efficient networking, and introduces tools for better performance. Developers can write simpler code and build more scalable applications while preparing for future Java versions.

Releases In Branch Java SE 11

VersionRelease date
11.0.3121 Apr 2026
(16 days ago)
11.0.3020 Jan 2026
(3 months ago)
11.0.2921 Oct 2025
(6 months ago)
11.0.2815 Jul 2025
(9 months ago)
11.0.2715 Apr 2025
(1 year ago)
11.0.2621 Jan 2025
(1 year ago)
11.0.2515 Oct 2024
(1 year ago)
11.0.2416 Jul 2024
(1 year ago)
11.0.2316 Apr 2024
(2 years ago)
11.0.2216 Jan 2024
(2 years ago)
11.0.2117 Oct 2023
(2 years ago)
11.0.2018 Jul 2023
(2 years ago)
11.0.1918 Apr 2023
(3 years ago)
11.0.1817 Jan 2023
(3 years ago)
11.0.1718 Oct 2022
(3 years ago)
11.0.16.118 Aug 2022
(3 years ago)
11.0.1619 Jul 2022
(3 years ago)
11.0.15.102 May 2022
(4 years ago)
11.0.1519 Apr 2022
(4 years ago)
11.0.1418 Jan 2022
(4 years ago)
11.0.1319 Oct 2021
(4 years ago)
11.0.1220 Jul 2021
(4 years ago)
11.0.1120 Apr 2021
(5 years ago)
11.0.1019 Jan 2021
(5 years ago)
11.0.920 Oct 2020
(5 years ago)
11.0.814 Jul 2020
(5 years ago)
11.0.714 Apr 2020
(6 years ago)
11.0.614 Jan 2020
(6 years ago)
11.0.515 Oct 2019
(6 years ago)
11.0.416 Jul 2019
(6 years ago)
11.0.316 Apr 2019
(7 years ago)
11.0.215 Jan 2019
(7 years ago)
11.0.116 Oct 2018
(7 years ago)
1125 Sep 2018
(7 years ago)