Java JDK 21 - The Latest LTS Version


It has been 28 years since the first release of the Java Programming Language back in the year 1995. What makes Java the most powerful and popular language among developers is its backward compatibility, WORA feature, and robustness to develop applications at scale.


What is an LTS Version in Java?

Java (Oracle and other Java communities such as OpenJDK, Azul, RedHat, etc.) releases a Long Term Support version typically every three years. These versions get a long-term support than the Non-LTS versions which is usually 8 years or more.


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 LTS Version Support Timeline Diagram

    Java JDK LTS Version Support Timeline

    As you can see, Java SE 8 was the first LTS version of Java that was released in the year 2014 and will have extended support from Oracle until 2030, which is 17 years!

    Next we have Java SE 11 which was released four years later to Java 8 in September 2018 and will have support until 2026.

    Next we have Java SE 17 which was released three years later to Java 11 in September 2021 and will have support until 2029.

    And finally we have Java SE 21, which is the 4th LTS version of Java that will have support until the year 2031.


What are the new features of Java JDK 21?

    1. JEP 430: String Templates (Preview)
    2. JEP 431: Sequenced Collections
    3. JEP 439: Generational ZGC
    4. JEP 440: Record Patterns
    5. JEP 441: Pattern Matching for switch
    6. JEP 442: Foreign Function & Memory API (Third Preview)
    7. JEP 443: Unnamed Patterns and Variables (Preview)
    8. JEP 444: Virtual Threads
    9. JEP 445: Unnamed Classes and Instance Main Methods (Preview)
    10. JEP 446: Scoped Values (Preview)
    11. JEP 448: Vector API (Sixth Incubator)
    12. JEP 449: Deprecate the Windows 32-bit x86 Port for Removal
    13. JEP 451: Prepare to Disallow the Dynamic Loading of Agents
    14. JEP 452: Key Encapsulation Mechanism API
    15. JEP 453: Structured Concurrency (Preview)

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap