Java Development Kit 20 Is GA
Written by Nikos Vaggalis   
Monday, 27 March 2023

JDK 20 is now generally available with many new features that render Java not just relevant to today's requirements but a few steps ahead. Let's find out what's new.


Every JDK since the major revamping of Java with venerable version 8, has been adding something new and exciting to the language. For instance JDK 9 added Modules, 10 added Local-Variable Type Inference, 15 Text blocks and 19 the preview of Virtual threads under project Loom.

But 20 doesn't just add a second preview to Virtual Threads. bringing it close to production readiness; it's not just about project Loom. Instead it is an amalgamation of JEPs (JDK Enhancement Proposals) collected under the umbrella projects Panama and Amber too.

As such the JEP's that found the way into version 20 of the JDK are:

429: Scoped Values (Incubator)
432: Record Patterns (Second Preview)
433: Pattern Matching for switch (Fourth Preview)
434: Foreign Function & Memory API (Second Preview)
436: Virtual Threads (Second Preview)
437: Structured Concurrency (Second Incubator)
438: Vector API (Fifth Incubator)

along with hundreds of smaller enhancements and thousands of bug fixes.

Project Panama is represented in the JDK with JEP 434 and JEP 438. Project Amber is represented with JEP 432 and JEP 433, while Project Loom with 429, 436 and 437.

From those JEP's , a very interesting one is 429, Scoped Values which are Thread Local alike objects but more modern as well as necessary for Virtual Threads to function effectively.

JEP 434: Foreign Function & Memory API is also one of those at the cutting edge. As a refresher , this JEP lays out a new way to access native libraries that are written in languages like C and C++. Under this API Java programs can call native libraries and process native data without the brittleness and danger of JNI.

But it was not just JEPs being utilized;there were also minor enhancements which might to be that minor after all, like
adding Named Groups in regular expressions and full support for Unicode 15.0.

With that, it was also about time to phase out APIs of the past. As such the following amongst others can finally RIP:

  • Applet API
  • Security manager
  • Finalization

So lately we have Java 20, Spring 6, Spring Boot 3, Jakarta 10. Plenty of innovation inside Java's ecosystem. And that is a few more reasons to go Java if not already on.



More Information

OpenJDK JDK 20 General-Availability Release


Related Articles

JDK 18 Adds Simple Web Server

Sigstore Java - Sign And Verify Your Java Builds

Jakarta vs Spring - The War Goes On

Microsoft Jumps on the OpenJDK Bandwagon 

Foojay - All About Java and the OpenJDK



To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


OpenAI Enriched By Stack Overflow

Stack Overflow has announced a partnership with OpenAI that could improve the accuracy of ChatGPT with regard to programming knowledge. This sounds promising, but there are potential problems.

Hydraulic Atlas Bows Out, Welcome Electric Atlas

Boston Dynamics dismayed us at the beginning of the week with a video that suggested was discontinuing Atlas, its humanoid robot. Fast forward a day and its successor was unveiled. Designed to be even [ ... ]

More News

raspberry pi books



or email your comment to: