In September, we announced the general availability of Amazon Corretto 17. Amazon Corretto is a no-cost, multi-platform, production-ready distribution of the Open Java Development Kit (OpenJDK). The JDK community has declared that OpenJDK 17 will be a long-term supported (LTS) version, which means it will continue to be updated beyond the standard two quarterly updates until OpenJDK 18 is released in March 2022.
We are pleased to announce that Amazon will continue to support Corretto 17 with security patches and critical updates until at least July 2029.
The JDK 17 GA announcement also includes the intention to deliver one LTS JDK version every two years instead of the current three. We believe that this new cadence will be positive for the community. It will help to keep OpenJDK vibrant and relevant, and encourage adoption of newer JDK versions. Also, it will let developers and enterprises reap performance and reliability benefits sooner than before.
We will move Corretto to this model and we will offer a new Corretto LTS every two years, starting with Corretto 17.
OpenJDK 17 offers exciting new features compared to OpenJDK 11. OpenJDK 17 continues to offer Shenandoah GC and is the first LTS release in which ZGC is generally available. Both of these low-pause garbage collectors get performance improvements in this release, and Corretto 17 is where we plan to introduce a preview of Generational Shenandoah in the near future.
There are performance improvements across the board in the runtime, compilers, and libraries. The Parallel GC and G1 GC have new features added that reduce pause times and increase throughput. OpenJDK 17 is the best-performing JDK for ARM64, which is of special interest to AWS customers using Graviton processors on Amazon Elastic Compute Cloud (Amazon EC2). JFR Event Streaming lets you monitor running services in real time. From the coding point of view, Java Records are now final in Java 17 and Sealed Classes provide library authors with more control over how their classes are extended, also letting the compiler optimize more aggressively. Other new features since JDK 11 include Switch Expressions, Text Blocks, and Pattern matching for instanceof.
We are proud to be among the top five contributors to OpenJDK 17 and to do our part to keep OpenJDK a strong choice for application development now and in the future. One highlight is the new Async Log Flushing option we contributed to the JVM. The JVM can now write logs to disk in a background thread, meaning that applications keep running and emitting logs even if disk I/O is slow or blocked for some time. We’ve been running this option on Amazon services for a year now, and we have seen it lead to reduced latency. You can expect an in-depth blog post about this on the AWS Developer Tools Blog in the near future.
What does the release of Corretto 17 mean for Corretto 8 and 11?
The release of Corretto 17 doesn’t change the plan for Corretto 8 and 11. We will continue to provide updates as previously committed—until 2026 for Corretto 8 and 2027 for Corretto 11.
Java 8 is now nine years old, however, and the community prefers to keep it secure and stable, which means that fewer performance fixes are showing up in OpenJDK 8. We recommend that users on Corretto 8 move to at least version 11 as soon as they can in order to take advantage of current and future performance improvements. Applications that are moved to newer JDKs get faster, perform more consistently, and are able to use less hardware to accomplish the same task.