JDK\/Java 14 可能带来什么新特性?
(给ImportNew加星标,提高Java技能)
转自:开源中国
JDK/Java 13 在一个月前已经发布,该版本带来了 5 大新特性,笔者观察到其中的 Text Blocks(文本块)特性似乎被讨论最多。
文本块特性与常见的 Python """any input""" 特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将 HTML 代码引入 Java 来说是极大的便利,代码可读性也极大提高。
关于 Java 13 的其它新特性这里不赘述,感兴趣的话可以看看文末推荐的几篇内容。这里想写的其实是:按照惯例,可以开始盯着 Java 14 的新特性了。
JDK 14 现在处于 Early-Access(EA,早期访问)阶段,按照发布周期正式版本将于明年 3 月 17 日发布。
目前最新版本是 build 17,各个 build 的更新说明可以查看:https://jdk.java.net/13/release-notes。
本文引用 InfoWorld 的报导,介绍一下目前 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)做好准备。
JDK 14 EA 版本下载地址:https://jdk.java.net/13
最后,需要注意的是 EA 阶段的特性也有可能永远不会出现在最终的 JDK/Java 14 正式 GA 版本中。
推荐阅读
(点击标题可跳转阅读)
看完本文有收获?请转发分享给更多人
关注「ImportNew」,提升Java技能
好文章,我在看❤️
- JDK\/Java 14可能带来什么新特性?
- 学Java的同学看过来,JDK13即将发布,新特性会是什么?
- Java程序内存分析:jdk自带的jmap能为我们带来什么
- Java程序内存分析:jdk自带的jmap能为我们带来什么
- 一次电话Java面试的问题总结(JDK8新特性、哈希冲突、HashMap原理、线程安全、Linux查询命令、Hadoop节点)
- 你可能没听过的 Java 8 中的 10 个特性
- Java可以做什么及可以给我们带来什么?
- [Java]_[JDK1.8新特性]
- Java JDK1.8新特性
- (转)Java 8中你可能没用过的10个特性
- jdk 1.6有什么新特性
- ubuntu14 安装Oracle java JDK
- java运行库和JDK、java虚拟机有什么区别!
- java中通过JDK工具手动压缩JAR包时package路径必须严格对应,否则可能压缩JAR包成功,但执行不了
- Java8深入学习系列(三)你可能忽略了的新特性
- 安装java的jdk时 要求我关闭什么java platform SE binary(Process Id : 5240) 的解决办法
- java jvm , jre , jdk都是什么
- Java-JDK5.0的简单新特性(静态导入,可变参数,增强型for循环,自动拆装箱)
- Java三大特性——什么是多态,多态的作用
- 黑马程序员—Java基础之—JDK新特性