Enterprise software and hardware vendor Oracle has released version 16 of its widely-used Java Development Kit application building environment, finalising two key features for programmers.
Records are Java classes that act as transparent carriers for immutable data, and were proposed to cut down on the verbosity of the programming language, which led to error-prone code.
Senior Java developer and podcaster Mark Derricutt welcomed the Records feature.
"The new Records feature is long overdue, and provides features that several open source libraries already do, but more optimised at the JVM [Java Virtual Machine] level," Derricutt said.
"Open source libraries like Immutables.org are looking to optionally generate their code based on Records, so it's a win for everyone," he added.
Pattern Matching for instanceof will be useful for specific developer sectors rather than as a general-purpose feature.
"The new pattern matching of instanceof is a much lower level feature, whilst itself doesn't offer much to end-developers, it will be more beneficial to OpenJDK/Oracle developers themselves," Derricut said.
As in the past, Java library coders may have to skip the new pattern matching feature to retain backwards compatibility.
"Library writers won't be able to make much use of it as they largely still need to support earlier JDKs," Derricutt said.
Nevertheless, the two features when combined in the upcoming JDK 17 could actually be useful, provided developers are able to move to the new Java version, Derricutt said.
Java 16 features 17 enhancements for the language, covering development tools, memory management improvements and incubating and preview features for community feedback.
Version 16 is unlikely to see much developer uptake, as it is not a long-term support (LTS) iteration of the developer framework.
Non-LTS versions shipped as part of Java's six-monthly release cadence contain code that could change, or not ship, with the long-term solution versions, making developers hesitant to use the former for production purposes.
Java 17, scheduled for a September 2021 release, looks set to be the next LTS version, with Oracle providing extended support for it until 2029.