Talk about the new features of jdk14

Overall:

JDK14 is the open-source reference implementation of version 14 of the java SE Platform as specified by JSR 389 in the Java Community Process.

JDK 14 reached General Availability on 17 March 2020. Production-ready binaries under the GPL are acailable from Oracle;binaries from other vendors will follow shortly.

The features and schedule of this release were proposed and tracked via the JEP Process.as amended by the JEP 2.0 proposal.The release was produced using the JDK Release Process(JEP3).

Features:

  • 305:Pattern Matching for instanceof (Preview预览阶段)
    为instanceof运算符引入模式匹配,支持从对象中按条件来提取组件。
  • 343:Packaging Tool (Incubator孵化阶段)
    创建一个用于打包独立Java应用程序的工具
  • 345:NUMA-Aware Memory Allocation for G1
    提升G1垃圾回收器在大型机器上的性能
  • 349:JFR Event Streaming
    暴露JDK Flight Recorder 数据以进行连续监控
  • 352:Non-Volatile Mapped Byte Buffers
    非易失性映射的字节缓冲
  • 358:Helpful NullpointerExceptions
    通过准确描述哪些变量为null来提高JVM生成的异常的可用性
  • 359:Records(Preview预览阶段)
    用于在特定领域的类,这些类主要用于保存数据,不提供领域行为
  • 361:Switch Expressions(Standard稳定版)
  • 362:Deprecate the solaris and SPARC Ports
    弃用 Solaris/SPARC, Solaris/x64 和 Linux/SPARC 端口,以便在未来的版本进行移除。
  • 363:Remove the Concurren Mark Sweep(CMS) Garbage Collector
    移除 CMS垃圾回收器。
  • 364:ZGC on macOS
    将 ZGC 垃圾回收器移植到 macOS。
  • 365:ZGC on windows
    将 ZGC 垃圾回收器移植到 Windows。
  • 366:Deprecate the ParallelScavenge+SerialOld GC Combination
    弃用 ParallelScavenge + SerialOld GC 的垃圾回收算法组合。
  • 367:Remove the Pack200 Tools and API
    移除 Pack200 工具和 API
  • 368:Text Blocks (Second Preview第二预览阶段)
    多行字符串
  • 370:Foreign-Memory Access API(Incubator孵化阶段)
    外部内存访问 API,新增一个API以允许java程序安全有效地访问java堆之外的外部内存

Schedule:

2019/12/12: Rampdown Phase One(fork from main line)
2020/01/16: Rampdown Phase Two
2020/02/06: Initial Release Candidate
2020/02/20: Final Release Candidate
2020/03/17: General Availability