Monday, November 18, 2019

JDK 14: Records, Text Blocks, and More

Today's Mark Reinhold post "JEPs proposed to target JDK 14: 305, 343, 359, 366, & 368" proposes targeting five more JEPs to JDK 14. Some highly anticipated features are among this group, although all but one are proposed to be in "preview" or "incubating":

  • JEP 305: Pattern Matching for instanceof (Preview)
  • JEP 343: Packaging Tool (Incubator)
  • JEP 359: Records (Preview)
  • JEP 366: Deprecate the ParallelScavenge + SerialOld GC Combination
  • JEP 368: Text Blocks (Second Preview)

The Java SE 13 Java Language Updates document describes preview features (JEP 12): "A preview feature is a new feature whose design, specification, and implementation are complete, but which is not permanent, which means that the feature may exist in a different form or not at all in future JDK releases."

JEP 11 ("Incubator Modules") describes "incubator modules" as "a means of putting non-final APIs and non-final tools in the hands of developers, while the APIs/tools progress towards either finalization or removal in a future release."

Four of the five JEPs proposed today for targeting JDK 14 are "preview" or "incubator" and so will be subject to potentially "not exist .... at all in future JDK releases" or potential "removal in a future release." However, the opportunity to take these features for a spin is welcome and there seems likely that these features will eventually become permanent even if they have some modifications. We could have these JEPs officially targeted for JDK 14 by Thanksgiving!

Additional Resources


@DustinMarx said...

Yesterday's Iris Clark post announces, "The following JEPs of scope 'SE' have been proposed to Target for Java SE 14" and lists JEP 305 ["Pattern Matching for instanceof (Preview)"], JEP 359 ["Records (Preview)"], and JEP 368 ["Text Blocks (Second Preview)"].

@DustinMarx said...

The five JEPs discussed in this post have all been targeted for JDK 14. This means there are currently 13 JEPs targeted for JDK 14 with another JEP (365, ZGC on Windows) currently proposed to target JDK 14.

@DustinMarx said...

Today's Mark Reinhold post announces that JEP 365 ("ZGC on Windows") has been targeted to JDK 14.

@DustinMarx said...

Another Mark Reinhold post proposes that JEP 362 ("Deprecate the Solaris and SPARC Ports") be targeted to JDK 14.