This year, there were two major releases of Java — Java 16 and Java 17. Java 17 is also a long-term support (LTS) release, the last of which was Java 11. The next LTS release of Java will be in 2023 with Java 21. This will change the LTS release cadence from three to two years.
Java 16 introduced a number of new enhancements, such as an incubator model for expressing vector calculations that are compiled at runtime (JEP 338), C++14 support (JEP 347), warnings for value-based classes (JEP 390), and more. Additions to Java 17 included a new macOS rendering pipeline (JEP 382), strong encapsulation for JDK internals (JEP 403), sealed classes (JEP 409), and more.
Another major change to the programming language this year is that Oracle updated the Java license. Starting with Java 17, releases will be provided under a free-to-use license until one year after the next LTS release.
RELATED CONTENT: 2021: An Unsettled Year
Oracle also announced Java Management Service in order to accelerate Java adoption in cloud settings. The service provides visibility over Java deployments, highlights unplanned Java applications, and ensures that the latest security patches have been applied.
A survey from the Eclipse Foundation in September revealed that there had been an increasing interest in enterprise Java in cloud native spaces. Sixty percent of respondents use Spring or Spring Boot as a cloud native Java framework, and 48% use Jakarta EE. Adoption of Eclipse MicroProfile, which offers a microservices architecture for enterprise Java, also grew to 34% use – up from 29% the year before.
Another survey from July, conducted by Snyk, revealed that developers began to move away from Java 8 and onto Java 11, the most recent LTS release prior to Java 17. Previous reports of the Java community had found that developers were mainly using Java 8 rather than upgrading to newer releases. According to the survey, 61.5% of respondents use Java 11 somewhere in production, while 12% used the latest Java version at the time, which was Java 15. Half of the respondents who use Java 11 also still use Java 8 somewhere in their production stack, according to the survey.
Last month, Microsoft announced its support of the Java community. It officially joined the Java Community Process, which is the mechanism for developing specifications for the programming language. This followed the company’s April announcement of its Microsoft build of OpenJDK, since which use of Java within Microsoft grew significantly.
“Java is one of the most important programming languages used today — developers use Java to build everything from critical enterprise applications to hobby robots. At Microsoft, we’ve seen increasing growth in customer use of Java across our cloud services and development tools. We’re continually working to broaden and deepen our Java support for customers and developers,” Bruno Borges, principal program manager of the Java Engineering Group at Microsoft, wrote in a post announcing the build.
Read our other Year in Review stories here.