Oracle announced the availability of Java 17, the latest version of the world’s number one programming language and development platform. Java 17 delivers thousands of performance, stability, and security updates, as well as 14 JEPs (JDK Enhancement Proposals) that further improve the Java language and platform to help developers be more productive.
Java 17 is the latest long-term support (LTS) release under Java’s six-month release cadence and is the result of extensive collaboration between Oracle engineers and other members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process (JCP). Since the previous JDK 11 LTS released three years ago, over 70 JEPs have been implemented.
Recommended ITech News: Ahana Joins AWS ISV Accelerate Program to Expand Access to Its Presto Managed Service for Fast SQL on Amazon S3 Data Lakes
Offering a Simpler License
Oracle JDK 17 and future JDK releases are provided under a free-to-use license until a full year after the next LTS release. Oracle will also continue providing Oracle OpenJDK releases under the open-source General Public License (GPL), as it has since 2017.
Enhancing Long-Term Support for Customers
Oracle is collaborating with the Java developer community and the JCP on enhancing LTS scheduling to give organizations more flexibility on when, or if, they want to migrate to a newer Java LTS version. Oracle is proposing that the next LTS release should be Java 21 and made available in September 2023, which will change the ongoing LTS release cadence from three years to two years.
Backed by the Oracle LTS and Java SE Subscription, customers can migrate to Java 17 at the pace that best meets their needs. Oracle will provide customers with security, performance, and bug-fix updates for Java 17 through at least September 2029.
“Over the last three years we’ve heard how much developers love the latest features, and we’ve seen the ecosystem truly embrace the six-month release cadence,” said Georges Saab, vice president of development, Java Platform Group, Oracle. “One of the biggest challenges Java developers face today is that their organization only allows them to use the latest LTS release. By moving LTS releases to every two years, developers that are with conservative organizations now have more choice and access to the features that they love and want to use.”
“Oracle is making changes that will significantly benefit the Java community by shifting the long-term support releases to a two-year cadence and introducing a new, more relaxed license that provides free production use of Oracle JDK for an extended time,” said Dr. Arnal Dayaratna, research vice president, Software Development at IDC. “These changes will give organizations greater flexibility in managing the complexity of modern application development and deployments in the cloud, on-premises, and in hybrid environments.”
Recommended ITech News: MSP360 Appoints New Vice President of Operations
Accelerating Java’s Adoption in the Cloud
Java is one of the most successful development platforms ever and is built on continuous innovation that address the evolving needs of developers. To accelerate Java adoption in the cloud, Oracle recently introduced the Oracle Java Management Service, a new Oracle Cloud Infrastructure (OCI)-a native service to help organizations manage Java runtimes and applications on-premises or on any cloud.
Java Management Service gives customers visibility into their Java deployments across the enterprise. This spans all of the Java versions installed in their environment, including versions of Java running in development and in production. It also highlights any unplanned Java applications running and checks if all installed Java versions are up to date with the latest security patches.
JDK 17 includes new language enhancements, updates to the libraries, support for new Apple computers, removals and deprecations of legacy features, and work to ensure Java code written today will continue working without change in future JDK versions. It also offers a language feature preview and incubating APIs to gather feedback from the Java community. Updates include:
Java Language Enhancement
- JEP 409: Sealed Classes – Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. This enhancement is yet another improvement from Project Amber, which aims to increase developer productivity by evolving the Java language.
Updates and Improvements to Libraries
- JEP 306: Restore Always-Strict Floating-Point Semantics – The Java programming language and Java virtual machine originally only had strict floating-point semantics. Starting in Java 1.2, small variances in those strict semantics were allowed by default to accommodate limitations of then-current hardware architectures. Those variances are no longer helpful or necessary, so they have been removed by JEP 306.
- JEP 356: Enhanced Pseudo-Random Number Generator – Provides new interface types and implementations for pseudorandom number generators (PRNGs). This change improves the interoperability of different PRNGs and makes it easy to request an algorithm based on requirements rather than hard coding a specific implementation.
- JEP 382: New macOS Rendering Pipeline – Implements a Java 2D pipeline for macOS using the Apple Metal API. The new pipeline will reduce the JDK’s dependency on the deprecated Apple OpenGL API.
Recommended ITech News: Alation Launches New Data Governance Product to Deliver Autonomous Governance at Scale