Java 17 Released: Sealed Classes and a New LTS
Java 17, a long-term-support release, finalized sealed classes, previewed pattern matching for switch, added the macOS Metal rendering pipeline and Apple Silicon port, and strongly encapsulated JDK internals.
Historical Archive. This article documents an event from 2021 and is preserved with its original date for reference. It is not current news, and details may have changed since publication.
What happened
Java 17 (JDK 17) was released on September 14, 2021, according to Oracle's official announcement on inside.java by Sharat Chander. It was the eighth feature release delivered on time through the six-month cadence and the second long-term-support release under the model announced in 2018, with Oracle providing performance, stability and security updates for at least eight years. Oracle also announced plans to shorten the gap between LTS releases from three years to two, making Java 21 the next LTS.
Sealed classes and pattern matching
Java 17 finalised sealed classes via JEP 409, letting API designers specify exactly which classes or interfaces may extend or implement a given class, which simplifies modelling when there is an exhaustive list of cases. It also previewed pattern matching for switch via JEP 406, developed in Project Amber, allowing patterns to be tested within switch statements and expressions so complex data-oriented queries can be expressed concisely and safely.
Platform and library updates
The release added a new macOS rendering pipeline via JEP 382 using Apple's Metal API instead of the deprecated OpenGL, and a macOS AArch64 port via JEP 391 so the JDK runs natively on Apple Silicon. It restored always-strict floating-point semantics, added an enhanced pseudo-random number generator API, context-specific deserialization filters, and continued incubating the Foreign Function and Memory API and Vector API from Project Panama.
Future-proofing and removals
Java 17 strongly encapsulated JDK internals via JEP 403, so it was no longer possible to relax strong encapsulation of internal elements with a single command-line option, leading to more secure applications. It also deprecated the Security Manager and the Applet API for removal, and removed RMI Activation and the experimental AOT and JIT compiler.
Why it mattered
Java 17 was a widely adopted LTS release that modernised the language with sealed classes and previewed pattern matching for switch, while bringing native Apple Silicon support and stronger encapsulation. It became the default target for a large share of the Java ecosystem and a key upgrade milestone for enterprises.
Related on Skillo
See also: Java 21 and virtual threads.
Sources
Published date reflects the original event date (2021-09-14). This article is original Skillo editorial written from the sources above; facts were verified in September 2026.
Written by
Skillo Staff
0 Comments
Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.