甲骨文两年来,每六个月如约发布新版本的Java,Oracle JDK 14为开发人员带来创新功能和新特性预览。Oracle JDK 14增加了一些新特性来提高开发人员工作效率,这些新特性包括:对switch表达式的Java语言支持,用于持续监控JDK Flight Recorder数据的新API,以及将低延迟Z垃圾收集器扩展到macOS和Windows中,此外新版本包括三个预览特性:instanceof模式匹配JEP 305、记录类 JEP 359和文本块JEP 368

如今甲骨文正式发布Java 14Oracle JDK 14

秉承甲骨文对加速创新的一贯承诺,Java保持每六个月发布一次新版本,为企业和开发人员社区提供新的增强功能。新版Java开发工具包(JDK)提供了许多新特性,其中包括两个备受期待的新预览特性:instanceof模式匹配(JEP 305)和记录类(JEP 359)以及第二次作为预览特性的文本块(JEP 368)。

此外,最新版Java还增加了对switch表达式的Java语言支持,公开了用于持续监视DK Flight Recorder数据的全新API,将低延迟Z垃圾收集器的可用性扩展至macOS和Windows,并在孵化器模块中封装了独立Java应用和新的外部内存访问API,以此支持安全、高效地访问Java堆外部的内存。

“Java 维持了每六个月发布新版本的节奏,让开发人员能尽快尝试到许多原本需要等待数年的功能,这个优势在Java 14中得到了进一步体现。”甲骨文公司Java平台开发副总裁Georges Saab表示,“JDK 14不仅带来很多帮助开发者提高工作效率的增强功能,而且首次提供来自Project Panama等项目的重要内容,包括外部存储器访问API增强(JEP 370)以及Project Amber的持续改进,例如模式匹配(JEP 305)和记录类(JEP 359)。”

Java 14发行版是整个行业通力合作的成果,这其中包括开放评审、每周构建和一直以来甲骨文工程师通过OpenJDK社区和Java Community Process与全球Java开发人员社区成员间的广泛合作。

Java 14的新增特性主要包括以下:

JEP 305:instanceof模式匹配Pattern Matching for instanceof,预览版) — 该预览特性可通过instanceof运算符模式匹配来增强Java。使用该特性,开发人员可以移除掉常见的样板代码,写出更加简洁的类型安全代码,从而提高工作效率。

JEP343:打包工具Packaging Tool,孵化阶段)— 支持开发人员打包Java应用并以平台特定格式进行分发。这有助于开发人员开发那些要求运行时和应用捆绑在单一交付成果中的现代应用。Java 14在孵化器模块中引入了此工具,将非最终版API和非最终版工具提供给开发人员以获取反馈,这些API或工具在未来版本中可能会被保留或移除。

JEP 345:适用于G1的NUMA感知内存分配 (NUMA-Aware Memory Allocation for G1)— 改进非一致性内存访问(NUMA)系统上的G1垃圾收集器的整体性能。

JEP 349:JFR事件流JFR Event Streaming) — 公开JDK Flight Recorder (JFR)数据以便持续监控。这有助于简化各种工具和应用对JFR数据的访问,并激励进一步创新。

JEP 352:非易失性映射字节缓冲区Non-Volatile Mapped Byte Buffers) — 在使用非易失性内存时,为JDK添加一种文件映射模式,扩展对非易失性内存的访问。

JEP 358:有用的NullPointerExceptionsHelpful NullPointerExceptions) — 准确描述哪个变量为null并提供其他有用信息,从而提高NullPointerExceptions的可用性。这将提高开发人员的工作效率,改进许多开发和调试工具的质量。

JEP 359:记录类Records,预览版)— 该预览特性通过一种紧凑的语法来声明保存浅层不可变数据的类。此特性有助于大幅减少该类中的样板代码,不过其最大的优势在于可以将数据建模为数据。用户可以轻松、清楚、简洁地声明这些浅层不可变数据聚合。

JEP 361:Switch表达式Switch Expressions,标准版)— 在JDK 12和JDK 13中,Switch表达式为预览特性,现已成为标准特性。它允许使用switch作为语句或表达式。此特性简化了日常编码,并为此版本中的模式匹配(JEP 305)预览特性做好了准备。

JEP 364:macOS上的ZGC以及JEP 365:Windows上的ZGC — 尽管大多数需要ZGC的用户也需要Linux环境的可扩展性,但通常需要通过部署和测试以便在macOS和Windows上支持ZGC。还有一些针对Windows和macOS的桌面应用也将受益于ZGC。

JEP 368:文本块Text Blocks,第二次预览版)— 文本块作为预览特性首次引入Java 13后收到了众多最终用户的反馈。现在,文本块得到了增强,再次作为预览特性出现在Java 14中,目标成为未来JDK版本的标准特性。使用文本块可以轻松表达跨多行源代码的字符串。它提高了Java程序中以非Java语言编写的代码的字符串的可读性;它约定,任何新构造的文本块都可以用字符串相同的字符集表示,解释相同的转义序列并以与字符串相同的方式进行操作。

JEP370:外部内存访问API(Foreign-Memory Access API,孵化阶段)— 此API可允许Java程序安全、高效地访问Java堆之外的外部内存。

对于寻求商业支持的用户和企业,甲骨文还提供一种低成本、可预测的支持解决方案 — Oracle Java SE订阅服务。目前该服务已得到全球成千上万家不同规模类型组织的广泛使用。通过该服务,用户可以获得Java SE许可证以及所需系统的全面支持而且随需随用,并可以做到定期直接从甲骨文获得所支持版本经过测试与认证的性能、稳定性及安全性更新。

Java作为一直以来都是深受软件开发者青睐的首选编程语言之一,伴随着Java 14创新功能的按时交付,对未来的周详规划以及对生态系统的持续投入,Java平台将继续为现代应用开发注入动力。

甲骨文Java 14来啦!相关推荐

  1. 甲骨文正式发布Java 14(Oracle JDK 14)

    甲骨文两年来,每六个月如约发布新版本的Java,Oracle JDK 14为开发人员带来创新功能和新特性预览.Oracle JDK 14增加了一些新特性来提高开发人员工作效率,这些新特性包括:对swi ...

  2. 如今甲骨文正式发布Java 14……

    甲骨文两年来,每六个月如约发布新版本的Java,Oracle JDK 14为开发人员带来创新功能和新特性预览.Oracle JDK 14增加了一些新特性来提高开发人员工作效率,这些新特性包括:对swi ...

  3. 甲骨文正式发布Java 14(Oracle JDK 14),下载下来尝尝鲜~~~

    Java一直以来都是深受软件开发者青睐的首选编程语言.伴随着Java 14创新功能的按时交付,对未来的周详规划以及对生态系统的持续投入,Java平台将继续为现代应用开发注入动力. 代码示例: publ ...

  4. Java 14 中令人期待的五大新特性!

    随着新的 Java 发布生命周期的到来,新版本预计将于 2020 年 3 月发布,本文将对其中的 5 个主要特性作些概述. 作者 | Sylvain Saurel 译者 | 苏本如,责编 | 郭芮 出 ...

  5. 谷歌甲骨文Java专利大战终审判决:安卓使用Java不构成侵权

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 周一,美国最高法院以6比2的投票裁定,根据美国法律,谷歌在Android操作系统中对甲骨文Java API的有限复制构成合理使用. 这一裁 ...

  6. Java 14 :NullPointerException的处理新方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | liululi 来源 | 公众号「锅外的大佬」 ...

  7. Spring Framework 5.2.5 发布,增加对 Java 14 的支持

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  8. JDK/Java 14 正式发布!然而我还在用 Java 8...

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | https://ww ...

  9. Java 14 可能带来什么新特性?

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | 公众号「开源中国」 JDK/Java 13 在一个月前已 ...

最新文章

  1. hook NtTerminateProcess进行应用的保护
  2. Visual Studio服务器控件被警告问题
  3. 计算机视觉与深度学习 | 动态背景下的前景目标提取
  4. iOS8开发~UI布局(二)storyboard中autolayout和size class的使用详解
  5. c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!
  6. 为啥非要用Python?Excel不香吗?
  7. php快速学习方法,php快速入门学习方法
  8. NFS网络文件系统服务介绍与实战
  9. java创建xml设置路径_java 写入xml文件 地址如何设置为局域网内的另一台服务器上...
  10. 大数据分析对供应链有什么影响
  11. 广东开放大学学习指南
  12. 希望能够在这条路上走下去
  13. python设计题60元按商品的比例平分_团体程序设计天梯赛-练习集(5分题集)Python 3...
  14. MAC 下shell工具推荐 zentermlite
  15. 图像处理之图像质量评价指标SSIM(结构相似性)
  16. 多台计算机虚拟化方案,虚拟化建设解决方案
  17. 阿里云 ECS 云计算训练营 Day2:搭建简历网站
  18. 台达PLC出现故障该怎么进行远程维护和程序上下载?
  19. 软件驻场开发是什么?有什么好处
  20. 云计算之虚拟化技术概述(KVM/Xen/Hyper-V/VMware)

热门文章

  1. android微信支付服务端,Android 微信支付返回-1
  2. linux下c语言绘图库_Linux 下的图形库介绍
  3. html九图拼图游戏代码,HTML5拼图游戏
  4. ide打开项目运行和调试按钮都是灰色的_如何开发一个IDE
  5. eprime经典程序案例_小程序经典案例!写字楼里的小店铺如何利用小程序增加人流量!...
  6. AI超人赛车手狂虐人类登Nature封面!1000台PS4训练,「苏菲」极限超车独霸赛道...
  7. 58岁博导为88岁老母跳舞,“母亲眼里我永远是个孩子”
  8. 西媒盘点:历史不该遗忘的七位女数学家
  9. 统计vs机器学习,数据领域的“少林和武当”!
  10. 关于机器学习,这里有一份权威入门指南