A Complete List of Improvements in Java Development Kit (JDK) 17 LTS
Oracle last week announced the availability of Java Development Kit (JDK) 17 as scheduled in their six-month cadence for fast-tracked release of successive versions and infusing the element of predictability in updating/upgrading the world’s most extensively used programming language. This effort made by Oracle towards a steady stream of predictable performance, security, and stability enhancements in JDK is for significantly boosting developer productivity and innovation adoption.
Related readings by Infolob:
What is new in the JDK 17?
It is long-term support release (LTS), which means it is entitled for continued performance, stability, and security improvements for the next eight years. Please refer to Oracle Java SE Support Roadmap for more details.
Simple license terms that will provide users/enterprises with three years of free functionality and support, including the performance and security updates every quarter – creating one year of free services overlap with the next LTS release.
All the enterprise features added in the Java 17 SE, including the GraalVM, JMS, and the Advanced Management Console
Sealed Classes (Java Enhancement Proposal [JEP] 409) for enabling API creators to mention interfaces/classes extending to other classes. It is aimed at simplifying development via a comprehensive list of cases for problem modeling.
Enabled strict floating-point semantics to ‘always’ (JEP 306) for the previous variants were curtailed by the old hardware architectures
Leveled-up PRNG (abbr. Pseudo-Random Number Generator) [JEP 356] for easy interoperability of various PRNGs and requesting requirement-based algorithms instead of hard coding. It also encompasses fresh interface types including jumpable and splitable pseudo-random number generators.
With Java 2D macOS rendering pipeline (JEP 382) JDK 17 is now set free of the Apple OpenGL API
Enhanced deserialization filters based on context (JEP 415) that allows apps to auto-configure dynamically retrieved deserialization filters, without having creators to revise the code
The AArch64 port (JEP 391) for JDK on Apple’s new Arm-based architecture
Pattern matching test in switch (JEP 406) for safe and terse complex data-driven query declaration
Foreign function enhancement (JEP 412) in JDK 17 translates to mostly JNI-free foreign code/memory invocation for programs accessing native (non-Java) libraries, data, and apps
Advanced Vector API (JEP 414) for delivering greater performance than scalar computations pervasively used in AI, ML, and cryptography
Robust JDK internal encapsulation (JEP 403) for highly secured applications and lower reliance on internal, non-standard implementations
Removal of the archaic Security Manager (JEP 411) as it failed to become the main source of safeguarding server-side or client-side Java code
Removal of the Applet API (JEP 398) for losing relevance since the modern-day browser are capable of performing without the need for Java plug-ins
Removal of the activation process for Remote Method Invocation (RMI) for putting it as default. Please note, no other modifications are made to RMI..
Removal of the source code for experimental ahead-of-time (AOT) and just-in-time (JIT) compiler (JEP 410) as more popular substitutes are available
Oracle is grateful to all the individual and organization contributors for helping timely build the Java Development Kit 17, including the early adopters/reviewers offering their valuable suggestions on the build quality, bugs, and more.