Java SE 17 version was released on the 14th of September of the year 2021, and is the third Long Term Supported (LTS) version of Java as a successor to LTS versions 8 and 11.
Java JDK 21 is the latest edition to the Long Term Support version of Java 17, 11, and 8.
There is a list of 15 JEPs as a part of Java 21, some of the must-know features are Generational Z Garbage Collector, Record Patterns, Virtual Threads, and Sequenced Collections.
List of all Java JDK LTS Versions and Support Dates
Java JDK LST Version | Release Data | Extended Support Date |
---|---|---|
Java SE 8 | 18th March 2014 | December 2030 |
Java SE 11 | 25th September 2018 | September 2026 |
Java SE 17 | 14th September 2021 | September 2029 |
Java SE 21 | 19th September 2023 | September 2031 |
Java JDK 17 LTS Versions Support Timeline Diagram

Java 17 will have extended support from Oracle and other major JDK contributors until the year 2029.
What are the new features of Java JDK 17?
- JEP 306: Restore Always-Strict Floating-Point Semantics
- JEP 356: Enhanced Pseudo-Random Number Generators
- JEP 382: New macOS Rendering Pipeline
- JEP 391: macOS/AArch64 Port
- JEP 398: Deprecate the Applet API for Removal
- JEP 403: Strongly Encapsulate JDK Internals
- JEP 406: Pattern Matching for switch (Preview)
- JEP 407: Remove RMI Activation
- JEP 409: Sealed Classes
- JEP 410: Remove the Experimental AOT and JIT Compiler
- JEP 411: Deprecate the Security Manager for Removal
- JEP 412: Foreign Function & Memory API (Incubator)
- JEP 414: Vector API (Second Incubator)
- JEP 415: Context-Specific Deserialization Filters
The Java JDK 17 has 14 JEPs, Some of the features include, Sealed Classes, macOS/AArch64 Port, Strongly Encapsulate JDK Internals, and Strongly Encapsulate JDK Internals.
-
Facing issues? Have Questions? Post them here! I am happy to answer!
More Posts related to Java,
- Convert Java Map Collection Object to JSON String using Jackson
- Java Stream flatmap() Examples
- [Fix] Instant java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Years
- How to run Java Unit Test cases with Apache Maven?
- How to check if Java main thread is alive
- [Fix] java: incompatible types: incompatible parameter types in lambda expression error
- Parsing CSV file using Java code example (Comma Separated File)
- Unhandled exception type InterruptedException : Java Threads
- Native getClass() method from java.lang.Object Class Explained with examples.
- Java Jackson ObjectMapper Class with Examples
- Java 8 Streams map() with examples
- Java 8 - Convert List to Map Examples
- IntelliJ: Error: Could not find or load main class, java.lang.ClassNotFoundException
- Java Stream with Multiple Filters Example
- How to Clear StringJoiner in Java 8
- Spring 5 IoC Example with application Context XML (ClassPathXmlApplicationContext) and Gradle.
- How to get end of line (EOL) or new line character \r \n in Java
- Spring Boot CRUD Examples using JDBCTemplate
- Delete a File in Java with Examples
- Implementing Insertion Sort Algorithm in Java Program
- Java JDBC Batch Update Example with PreparedStatement
- Java JDBC Select Multiple Records from table as List using PreparedStatement
- [Hibernate] The method buildSessionFactory() from the type Configuration is deprecated
- How to fix Java HTTP java.net.UnknownHostException
- Java 8 Display time in 12 hour AM PM format
More Posts:
- How to Clear All Cells Output in Jupyter Notebook - Python
- How to Convert Python String to DateTime Object - Python
- How to know if someone has read your WhatsApp message - WhatsApp
- How to turn off Facebook autoplay videos on timeline - Facebook
- Copy file from one directory to other in Php - PHP
- Java JDBC: Insert Java 8 LocalDate and Time using PreparedStatement - Java
- Fix Git: Warning: could not find UI helper GitHub.UI on Windows - Git
- Read file from Windows CMD (Command Line) - Windows