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

JDK/Java 13 在一个月前已经发布,该版本带来了 5 大新特性,笔者观察到其中的 Text Blocks(文本块)特性似乎被讨论最多。文本块特性与常见的 Python “””any input””” 特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将 HTML 代码引入 Java 来说是极大的便利,代码可读性也极大提高。

关于 Java 13 的其它新特性这里不赘述,感兴趣的话可以看看文末推荐的几篇内容。这里想写的其实是:按照惯例,可以开始盯着 Java 14 的新特性了。

JDK 14 现在处于 Early-Access(EA,早期访问)阶段,按照发布周期正式版本将于明年 3 月 17 日发布。

目前最新版本是 build 17(https://jdk.java.net/14/),各个 build 的更新说明可以查看:https://jdk.java.net/13/release-notes。

本文引用 InfoWorld (http://uee.me/cw5VE) 的报导,介绍一下目前 JDK 14 中可能会出现的 3 项新特性。其中有两个特性被正式提了出来,还有一个特性则是预测性质,分别看看:

  • 改进 NullPointerExceptions,通过准确描述哪些变量为 null 来提高 JVM 生成的异常的可用性。该提案的作者希望为开发人员和支持人员提供有关程序为何异常终止的有用信息,并通过更清楚地将动态异常与静态程序代码相关联来提高对程序的理解。
  • 非易失性映射的字节缓冲将添加新的 JDK 特定文件映射模式,该模式允许 FileChannel API 用于创建引用非易失性内存(NVM)的 MappedByteBuffer 实例。NVM 使开发者可以跨程序构建和更新程序状态,而不会产生输入和输出操作通常需要的大量复制和翻译成本,这对于交易程序而言尤其重要。该增强提案主要目标是确保客户端可以连贯有效地从 Java 程序访问和更新 NVM;第二个目标是使用 Unsafe 类中定义的受限制 JDK 内部 API 来实现此提交行为,因此可以由可能需要提交给 NVM 的 MappedByteBuffer 之外的其它类重用;另一个目标是允许现有 API 跟踪在 NVM 上映射的缓冲区,以进行监控和管理。
  • Switch Expressions 在 JDK 12 与 13 中都是预览状态,预计在 JDK 14 中成为稳定特性。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305,地址:http://uee.me/cw5VJ)做好准备。

JDK 14 EA 版本下载地址:https://jdk.java.net/13

最后,需要注意的是 EA 阶段的特性也有可能永远不会出现在最终的 JDK/Java 14 正式 GA 版本中。

来源:http://uee.me/cw5C3

Image placeholder
nick_liruian
未设置
  89人点赞

没有讨论,发表一下自己的看法吧

推荐文章
未来已来,如何减少人工智能带来的风险?

为了在新时代蓬勃发展,企业安全需要减少人工智能带来的风险,并充分利用它提供的机会。人工智能(AI)正在创造信息安全的新领域。能够独立学习、推理和行动的系统将越来越多地复制人类的行为。就像人类一样,他们

PHP7.4 新特性和废弃的功能

PHP7.4新特性PHP7.4上月28号已经发布了。又带来了一些新特性。可以让我们的代码写的更少了。1.属性添加限定类型 4.数组解包使用展开运算符...解包数组。这个特性,应该又是从js那吸收过来的

降低 80% 的读写响应延迟!我们测评了 etcd 3.4 新特性(内含读写发展史)

导读:etcd作为 K8s集群中的存储组件,读写性能方面会受到很多压力,而 etcd 3.4 中的新特性将有效缓解压力,本文将从etcd 数据读写机制的发展历史着手,深入解读 etcd 3.4 新特性

Ambassador 0.52 新特性:会话亲和性、负载均衡控制、gRPC-Web

本文由公众号EAWorld翻译发表,转载需注明出处。作者:RichardLi 译者:白小白 原文:http://t.cn/E6cZoyG现时的云原生应用由多种异构的服务或者微服务组成,服务间、服务与客

PHP7.0 的新特性

PHP7.0的新特性经常会被面试官问到,在平时的项目开发中运用它们也会提升一定的代码质量和代码运行性能,可见这个知识点的重要性。不过有很多人都没有去系统的了解掌握,今天我刚好系统整理了一番分享出来。图

Redis 6.0 新特性之集群代理

Redis6.0releasenotes ======================= UpgradeurgencyLOW:ThisisthefirstRCofRedis6. Introduct

14个你可能不知道的JavaScript调试技巧

以更快的速度和更高的效率来调试JavaScript熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言JavaScript很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug.文中

怎么新建一个react项目

怎么新建一个react项目现在比较流行和常用的方式就是利用create-react-app脚手架来帮我们搭建一个初始的react项目,准备工作安装node环境,这个去百度搜索下node安装,在命令行中

dreamweaver怎么新建css?

dreamweaver怎么新建css?1、新建一个htlm文档,在body中插入一个div,将ID命名为main2、在右侧的CSS设计器点击源的加号,选择在页面中定义3、点击选择器的加号,输入#mai

英特尔第二代至强与傲腾,为企业IT带来了什么?

在企业IT基础设施领域,英特尔第二代至强可扩展处理器与傲腾数据中心级持久内存名声在外,是英特尔以数据为中心的产品组合中的代表之作。于今年4月份发布的第二代英特尔至强可扩展处理器,以强大的平台能力,实现

人工智能给陌陌直播带来的变革与挑战

中国的人工智能产业相较国外起步较晚,但崛起迅速,尤其是人工智能上升为国家战略以来,更是吸引科技巨头以及众多垂直领域公司深耕不辍。在内容直播领域更是掀起一股强劲的浪潮,毫不夸张地说,AI技术已经成为了内

大数据如何为影视产业带来颠覆性变化?

电影制作是一个非常复杂的过程,从开始确定成本到制定有针对性的营销活动,涵盖多个流程。在这之中,数据科学几乎可以涉及到每一个步骤,带来创新的改变。而且从另一个角度上讲,从事数据科学工作的专业人员,也可以

智慧城市带来的网络威胁有哪些?

如今,中国城市正在疾步向前拥抱智慧时代,我国是全球智慧城市建设最为积极的国家之一。近年来,智慧城市建设步入快车道时代!据不完全统计,中国智慧城市的发展数量已经超过500个,居世界之最。然而,智慧城市给

再读一次Vue官方文档带来的意外惊喜

前言Vue目前算是我用的时间最长的一个框架了,但是最近总是在想,我真的了解Vue了吗,还是说,仅仅只是会用它而已了呢.最开始用Vue的时候只是草草看了一遍文档,细节之处并未关心,以至于后面项目中遇到很

什么是边缘计算及其重要性?

边缘计算正在改变世界上数百万台设备处理,处理和传递数据的方式。联网设备(IoT)的爆炸性增长,以及需要实时计算能力的新应用,继续推动着边缘计算系统的发展。诸如5G无线之类的更快的联网技术,使边缘计算系

如何保证缓存与数据库的双写一致性?

分布式缓存是现在很多分布式应用中必不可少的组件,但是用到了分布式缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?CacheAsidePa

阿里面试题:如何保证缓存与数据库的双写一致性?

作者:你是我的海啸出处:https://blog.csdn.net/chang384915878/article/details/86756463只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只

js如何修改css属性?

js如何修改css属性?1、修改style样式:通过document.styleSheets[n]//n表示期望修改的样式表序号,从0开始计数来获取到期望修改的样式表,通过cssRules[0]获取到

css设置边框可以用哪个属性?

css设置边框可以用border简写属性,它可以在一个声明设置所有的边框属性,按照border-width、border-style、border-color顺序设置;也可以单独使用这几个属性来设置边

jquery判断是否包含某个属性?

jquery判断是否包含某个属性?在JQuery编码中,我们会判断元素是否存在某个属性,比如是否包含class="new"的样式呢。JQuery判断就非常简单了,因为有hasClass这个方法$("i

css中有哪些简写属性?

css中有哪些简写属性?●border属性●margin、padding属性●background属性●font属性●border-radius属性定义简写属性是可以让你同时设置其他几个CSS属性值的

HTML5新增了哪些input类型及其属性?

HTML5新增了哪些input类型及其属性?1、url类型、email、tel类型说明:当输入非url、email的字符串时,浏览器会自动提醒。 2、number类型。说明:只能输入数字,min表

详解IBM i 操作环境的最新版本IBM i 7.4 和新特许程序 IBM Db2 Mirror for i

一、背景随着行业客户大规模上云的趋势越来越明显,Power在企业云化中将扮演越来越重要的角色。过去一年,浪潮商用机器基于开放的Power技术的服务器,完善服务器的生态系统,建立可持续发展的服务器业务,

你可能会忽略的 Git 提交规范

一、为什么需要规范? 无规矩不成方圆,编程也一样。 如果你有一个项目,从始至终都是自己写,那么你想怎么写都可以,没有人可以干预你。可是如果在团队协作中,大家都张扬个性,那么代码将会是一团糟,好好的项

分享 10 个你可能不知道的 Laravel Eloquent 小技巧

Laravel是一个功能丰富的框架。但是,你无法从官方文档中找到所有可用的功能。以下是一些你可能不知道的功能。 1.获取原始属性 当修改一条Eloquent模型记录的时候你可以通过调用getOrig