Out with the old and in with the new as Java 14 arrives, bringing with it first Project Panama enhancements

After all, if the Supreme Court rules the right way, this could be a bonanza


Oracle this week released JDK 14, its reference implementation of the Java 14 specification. Java, Big Red claims, continues to be the most preferred programming language among software developers.

Java 14 shows up six months after Java 13, reflecting the accelerated release cadence adopted to move the code away from multi-year development cycles and to match the pace of other modern software projects.

Georges Saab, VP of development for Oracle's Java platform, cited the release as validation of the shift to the six-month release cadence adopted back with Java 9.

"Not only does JDK 14 have a number of enhancements that will improve developer productivity, but we’re also seeing the first major content to come from projects like Project Panama, with a Foreign-Memory Access API enhancement (JEP 370), and continuing improvements from Project Amber, with Pattern Matching (JEP 305) and Records (JEP 359)," said Saab in a blog post.

Project Panama is an OpenJDK project to make the Java Virtual Machine (JVM) accessible via non-Java APIs, so developers can make native C/C++ calls, for example, from the JVM. The OpenJDK is an open source Java SE implementation upon which the Oracle JDK is based. The Oracle JDK also includes closed-source components.

Java 14 includes 16 new features, detailed in the release notes:

  • 305: Pattern Matching for instanceof (Preview)
  • 343: Packaging Tool (Incubator)
  • 345: NUMA-Aware Memory Allocation for G1
  • 349: JFR Event Streaming
  • 352: Non-Volatile Mapped Byte Buffers
  • 358: Helpful NullPointerExceptions
  • 359: Records (Preview)
  • 361: Switch Expressions (Standard)
  • 362: Deprecate the Solaris and SPARC Ports
  • 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
  • 364: ZGC on macOS
  • 365: ZGC on Windows
  • 366: Deprecate the ParallelScavenge + SerialOld GC Combination
  • 367: Remove the Pack200 Tools and API
  • 368: Text Blocks (Second Preview)
  • 370: Foreign-Memory Access API (Incubator)

There are also a number of features that have been removed because they're no longer supported or obsolete, like the netscape.javascript.JSObject::getWindow method.

In a blog post, Mala Gupta, developer advocate at JetBrains, maker of the IntelliJ IDE for Java, delves into the utility of Records, a new type declaration designed to make data modeling easier.

"By using just a single line of code, you can model your data with ease," explains Gupta, who also looks at how to use Pattern Matching with the instanceof operator.

Java 14 also includes Text Blocks, still in preview after its introduction in Java 13. Text Blocks allows developers to create multi-line string literals, mostly without escaping newline characters, that provide automatic or specified control over formatting.

Users of macOS in Dark Mode may continue to experience visual glitches due to bugs in Apple's JavaRuntimeSupport.framework. Apple, Oracle says, has been notified of the issue. ®


Biting the hand that feeds IT © 1998–2020