Oracle Java 14发布! | Oracle Java平台组


Oracle自豪地宣布Java 14的全面上市,这是六个月计划中的第五​​个功能版本。两年多来的这种可预测性水平,使开发人员能够不断获得预期的更改,从而更轻松地管理他们对创新的采用。
Oracle现在为所有开发人员和企业提供Java 14。根据Oracle关键补丁更新(CPU)时间表,Oracle JDK 14将至少获得两个季度的更新,然后再发布Oracle JDK15。Java15将于2020年9月全面上市,但早已提供了早期访问版本


JDK 14随附的16个JEP是:

  1. JEP 305- instanceof [url=https://openjdk.java.net/jeps/305](预览)的[/url]模式匹配:此预览功能通过为instanceof 运算符进行模式匹配来增强Java 。通过消除对通用样板代码的需求,提高了开发人员的生产率,并允许使用更简洁的类型安全代码。
  2. JEP 343- 打包工具(孵化器):此孵化器工具为开发人员提供了一种打包Java应用程序的方式,以便以平台特定的格式进行分发。该工具可帮助开发人员使用现代应用程序,其中约束要求运行时和应用程序捆绑在一个交付物中。
  3. JEP 345 -G1的NUMA感知内存分配:此功能提高了非均匀内存访问(NUMA)系统上G1垃圾收集器的整体性能。
  4. JEP 349- JFR事件流:此功能公开了JDK Flight Recorder(JFR)数据以进行连续监视,这将简化各种工具和应用程序对JFR数据的访问。
  5. JEP 352- 非易失性映射字节缓冲区:使用非易失性存储器时,此功能为JDK添加了文件映射模式。非易失性存储器的持久性改变了各种持久性和性能假设,可以通过此功能利用这些假设。
  6. JEP 358- 有用的NullPointerExceptions:此功能通过精确描述哪个变量为null以及其他有用信息,提高了NullPointerExceptions 的可用性。这将提高开发人员的生产率,并提高许多开发和调试工具的质量。
  7. JEP 359- 记录(预览):此预览功能提供了一种紧凑的语法,用于声明保存浅层不变数据的类。从表面上看,此功能大大减少了此类中的样板代码,但最终其目的是更好地允许将数据建模为数据。声明浅不变的标称数据聚合应该很容易,清楚和简洁。
  8. JEP 361- 开关表达式:这是JDK 12 JDK 13中的预览功能,现在已完成。它允许将switch 用作语句或表达式。此功能简化了每天的编码,并为此版本中预览的模式匹配(JEP 305 )功能准备了方法。
  9. JEP 362- 弃用Solaris和SPARC端口:此JEP弃用Solaris和SPARC端口,以在将来的发行版中将其删除。 
  10. JEP 363- 删除并发标记扫描(CMS)垃圾收集器:CMS垃圾收集器在两年前已过时,并且自JDK 6起已成为CMS的后继产品的G1已成为默认GC,并已在许多情况下大规模使用年份。我们还看到了引入了两个新的收集器,ZGC和Shenandoah,同时对G1进行了许多改进。 
  11. JEP 364- macOS上的ZGC :尽管大多数需要ZGC的用户也需要基于Linux的环境的可伸缩性,但在Windows和macOS中也经常需要部署和测试它。还有某些桌面应用程序将从ZGC功能中受益。因此,ZGC功能已移植到Windows和macOS。
  12. JEP 365-  Windows上的ZGC:请参考JEP 364的摘要。
  13. JEP 366-弃用ParallelScavenge + SerialOld GC组合:这弃用了Parallel Scavenge和Serial Old垃圾收集算法的组合,该组合很少使用,并打算在以后的版本中删除它。
  14. JEP 367- 删除Pack200工具和API:这将删除java.util.jar软件包中的pack200和unpack200工具以及Pack200 API。这些工具和API 已在Java SE 11弃用
  15. JEP 368- 文本块(第二个预览):在Java 首次将文本块作为预览功能(JEP 355 )引入时,收到反馈后,添加了两个新的转义序列,并且提供了文本块作为预览功能第二次。文本块的优点包括:使用跨越源代码多行的字符串简化了程序的编写,同时避免了常见情况下的转义序列;增强了Java程序中表示用非Java语言编写的代码的字符串的可读性;通过规定任何新构造都可以表达与字符串文字相同的字符串集,解释相同的转义序列并以与字符串文字相同的方式进行操作,来支持从字符串文字的迁移。
  16. JEP 370- 外部存储器访问API(孵化器):此孵化器模块引入了一个API,以允许Java程序安全有效地访问Java堆之外的外部存储器。

banq注:Java8和Java11是长期支持版本。
完全免费的adoptopenjdk14:https://adoptopenjdk.net/index.html?variant=openjdk14&jvmVariant=hotspot