LTS releases
Oracle and the OpenJDK vendors support long-term support (LTS) releases for years. Other releases get updates for six months. For servers, choose an LTS release.
| Version | Released | Notable for |
|---|---|---|
| Java 8 | 2014 | Lambdas and streams. Still found in a lot of old code. |
| Java 11 | 2018 | Modules, the HTTP client, a cleaner runtime. Required by Tomcat 10.1. |
| Java 17 | 2021 | Records, sealed classes, text blocks. Minimum for Spring Boot 3, Quarkus 3 and Tomcat 11. |
| Java 21 | 2023 | Virtual threads, pattern matching for switch, better GC. The best default today. |
| Java 25 | 2025 | The newest LTS release. Choose it for new projects once your libraries support it. |
What to choose
- New project: Java 21, or Java 25 if all your dependencies support it.
- Spring Boot 3 or newer, Quarkus 3, Micronaut 4: Java 17 at minimum, Java 21 recommended.
- Existing application on Java 8: keep it there until you have a reason and a test suite. Plan the move to 17 or 21.
- WildFly and Payara: check the version table of the release you use. Recent releases target Java 17 and 21.
Memory and performance
Newer Java versions generally use memory more efficiently and have better garbage collectors. Upgrading from Java 8 to 17 or 21 often reduces CPU use at the same load. Containers are also handled correctly since Java 10.
On our servers
We install OpenJDK from the Ubuntu repositories in the version you request. Java 8, 11, 17 and 21 are available today. Ask us if you need Java 25. See Java VPS hosting.
Last updated October 29, 2026.