Oracle is proud to announce the general availability of JDK 18. This release is the ninth Feature Release delivered on time through the six-month release cadence. This level of predictability allows developers to easily manage their adoption of innovation thanks to a steady stream of expected changes.
Java’s ability to boost performance, stability, and security continues to make it the world’s most popular programming language.
Oracle now offers JDK 18 for developers, end-users, and enterprises. Oracle JDK 18 will receive performance, stability and security updates for six-months following the Oracle Critical Patch Update (CPU) schedule as outlined in the Oracle Java SE Support Roadmap.
Oracle JDK 18 is not a long-term support (LTS) release. Oracle JDK 17 (released on September 14, 2021) is the most recent long-term support (LTS) under the release cadence announced in 2018. Oracle has announced plans to shorten the time between future LTS releases, from 3 years to 2 years so the next LTS will be Java 21 in September of 2023.
Another important change announced six months ago was the introduction of a frictionless no-fee license which allows organizations to continue to use Oracle JDK 17 releases, including quarterly performance, stability, and security patches, at no cost. Starting with JDK 17, LTS releases will be made available under the new no-fee license for at least three years, allowing one full year of overlap with the next LTS release. Non-LTS releases, such as JDK 18 and its updates, will also be made available under the new license.
Java SE Subscribers get access to Oracle’s Java SE Support and commercial features such as GraalVM Enterprise, Java Management Service and the Advanced Management Console. See The New Java SE License Terms blog for details on the new license.
As with previous releases, with Java 18, we continue to celebrate the contributions from many individuals and organizations in the OpenJDK Community — we all build Java, together!
JDK 18 Fix Ratio
The rate of change over time in the JDK releases has remained largely constant for years, but under the six-month cadence the pace at which production-ready features and improvements are delivered has vastly improved.
Instead of making tens of thousands of fixes and delivering close to one hundred JEPs (JDK Enhancement Proposals) every few years as we did with legacy “Major Releases”, enhancements are delivered in leaner “Feature Releases” on a more manageable, predictable six-month schedule. The changes range from significant new features to small enhancements to routine maintenance, bug fixes, and documentation improvements. Each change is represented in a single commit for a single issue in the JDK Bug System.
Of the 17,253 JIRA issues marked as fixed in Java 11 through Java 18 at the time of their GA, 12,442 were completed by people working for Oracle while 4,811 were contributed by individual developers and developers working for other organizations. JDK 18 delivers the most contributions in a release by Independent individual contributors. This demonstrates OpenJDK as a welcome place not only for organizations but contributors of all types bringing their unique skills into the Java community.
Going through the issues and collating the organization data from assignees results in the following chart of organizations sponsoring the development of contributions in Java:
In Java 18, of the 2,062 JIRA issues marked as fixed, 1261 were completed by Oracle, while 801 were contributed by other members of the Java community including a record 168 from Independent individual contributors.:
Oracle would also like to thank the developers working for organizations like Alibaba, Amazon, ARM, Intel, JetBrains, Red Hat, SAP, and Tencent for their notable contributions. We are also thankful to see contributions from smaller organizations such as Bellsoft, DataDog, Loongson, and independent developers who collectively contributed 13% of the fixes in Java 18.
We are equally grateful to the many experienced developers who reviewed proposed changes, the early adopters who tried out early access builds and reported issues, and the dedicated professionals who provided feedback on the OpenJDK mailing lists.
The following individuals provided invaluable feedback on build quality, logged good quality bugs, or offered frequent updates:
· Jaikiran Pai (Apache Ant)
· Tilman Hausherr (Apache PDFBox)
· Martin Grigorov (Apache Tomcat, Apache Wicket)
· Rafael Winterhalter (Byte Buddy)
· Yoann Rodière (Hibernate ORM, Validator, Search, Reactive)
· Marc Hoffman (JaCoCo)
· David Karnok (RxJava)
Additionally, through the Quality Outreach program we would like to thank the following FOSS (Free and Open Source) projects and individuals who provided excellent feedback on testing Java 18 early access builds to help improve the quality of the release:
· Apache Derby (Rick Hillegas)
· Apache Lucene (Uwe Schindler)
· Apache MyBatis (Iwao Ave)
· Apache Zookeeper (Enrico Olivelli)
· BNYM Code Katas (Rinat Gatyatullin)
· Karate (Peter Thomas)
Along with thousands of performance, stability and security updates, Java 18 delivers nine enhancements/changes (known as JDK Enhancement Proposals - JEPs), including two delivered in incubator modules and one preview language feature.
Incubator modules allow putting non-final APIs and non-final tools in the hands of developers and users to gather feedback that will ultimately improve the quality of the Java platform.
Similarly, Preview Features, are fully specified and fully implemented Language or VM Features of the Java SE Platform; and yet impermanent. They are made available in JDK Feature Releases to allow for developer feedback based on real-world uses, before them becoming permanent in a future release. This also affords tool vendors the opportunity to work towards supporting features before they are finalized into the Java SE Standard.
The nine JEPs delivered with Java 18 are grouped into four categories:
Makes it possible to replace the default operating-system native resolver, which usually results in a blocking operating-system call, with a developer-provided alternate resolver.
Timely support for new features by tools and libraries helps drive developer productivity. With Java 18, we continue to welcome the efforts of leading IDE vendors whose most timely updates offer developers support for current Java versions. Developers can expect to take advantage of Java 18 support today with the following IDEs:
Java continues to be the #1 programming language for today’s technology trends. As the on-time delivery of improvements with Java 18 demonstrates, through continued thoughtful planning and ecosystem involvement, the Java platform is well-positioned for modern development and growth in the cloud.
Continue staying current with news and updates by:
Dalibor Topić lives in Hamburg, Germany, and works as principal product manager for Oracle. He joined the OpenJDK project in order to help make it a successful open source project, and stayed for anchoring Java in Linux distributions, and as an all around Java F/OSS community guy. Topić joined the Java strategy team at Oracle to help provide community feedback into the long-term strategy planning.