Oracle announced today the general availability of Java SE 13 (JDK 13). This release demonstrates Oracle’s continued commitment to accelerate innovation amongst enterprises and the developer community by its predictable release of enhancements as part of the six-month Feature Release cadence.
With binaries targeted for availability starting September 17, 2019, Oracle JDK 13 increases developer productivity by improving the performance, stability and security of the Java SE Platform and the JDK. The latest release also includes two preview features: Switch Expressions, which extends switch so it can be used as either a statement or an expression (JEP 354), and the addition of text blocks to the Java language (JEP 355).
Preview features, introduced through JEP 12, provide developers with fully-specified, fully-implemented features for testing with the goal of collecting feedback before being included as a standard part of the language. Developers are encouraged to use them with the caveat that they might be changed or removed in a future version. Preview features are an important part of the new release model and allow for greater community input prior to reaching a final design for new features. These also improve quality and performance when the features become GA.
Oracle JDK 13 now supersedes Oracle JDK 12 and offers a smooth transition because of its incremental nature to this latest release. Oracle plans to deliver a minimum of two updates to this release per the Oracle CPU schedule before being followed by Oracle JDK 14, planned for March 2020. The six-month release cadence has continued to deliver predictably, with five releases since its adoption in September of 2017.
The Java Enhancement Proposals (JEP) in this release are:
- JEP 350: Dynamic CDS Archives improves usability of Application Class-Data Sharing feature, which improves startup and footprint
- JEP 351: ZGC – Uncommit Unused Memory improves memory management by returning unused heap memory to the Operating System / Container
- JEP 353: Reimplement the Legacy Socket API to be easier to maintain, debug and prepare for user-mode threads, also known as fibers
- JEP 354: Switch Expressions (Preview Feature) simplifies every day coding and prepares the way for future features such as pattern matching (JEP 305)
- JEP 355: Text Blocks (Preview Feature) simplifies the task of expressing strings that span several lines of source code