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.
The final release candidate of .NET 10, the platform created from a combination of .NET Framework and .NET Core, has been released. Overall, this release focuses on quality and stabilization [ ... ]
Arduino has just been taken over by Qualcomm, a company generally known for its many patent disputes as well as its ARM processors. More importantly, a new Arduino has just been announced that could b [ ... ]