点击上方“码农突围”,马上关注

这里是码农充电第一站,回复“666”,获取一份专属大礼包

真爱,请设置“星标”或点个“在看”

作者 | oschina

来源 | 公众号「开源中国」

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 版本中。

回到本文开头,关于 Java 13 的相关内容:

JDK/Java 13 发布:

http://https//www.oschina.net/news/109934/jdk-13-released

JDK 13 新特性详解:

https://my.oschina.net/mdxlcj/blog/3107021

Java 没有创新了吗?:

https://my.oschina.net/gemron/blog/3110022

全网最新最简单的 OpenJDK13 代码编译:

https://my.oschina.net/liebrother/blog/3115104

Java 13 新特性及实战案例:

https://my.oschina.net/waylau/blog/3109862

说句题外话,有不少人想加鱼哥微信,鱼哥姑且放出来,但是坑位有限哦

有热门推荐?

1、

2、

3、

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。

获取方式:点“在看”,关注公众号并回复 Java面试 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡.

你绝对猜不到 Java 14 有什么新特性?相关推荐

  1. Java 14 有哪些新特性?

    记录为 Java 提供了一种正确实现数据类的能力,不再需要为实现数据类而编写冗长的代码.下面就来看看 Java 14 中的记录有哪些新特性. 作者 | Nathan Esquenazi 译者 | 明明 ...

  2. Java 7~14各个版本新特性详解

    Java 7 特性列表 switch中添加对String类型的支持 数字字面量的改进 / 数值可加下划 异常处理(捕获多个异常) try-with-resources 增强泛型推断 JSR203 NI ...

  3. java的发展(8-17新特性整理)

    java java的诞生与历史: 简介:Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征. ...

  4. 不停歇的Java即将发布JDK16新特性速览及从菜鸟到架构师[图]

    一.不停歇的Java即将发布JDK16新特性速览 当开发者深陷Java8版本之际,这边下一版本Java16有了最新的消息,与Java15一样,作为短期版本,Oracle仅提供6个月的支持. 根据发布计 ...

  5. 详解 Java 17中的新特性:“密封类”

    作者:程序猿DD 博客:https://blog.didispace.com/ Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360.JD ...

  6. Java 11 正式发布,新特性解读

    Java 11 正式发布,新特性解读 杨晓峰   2018 年 9 月 26 日 话题:Java语言 & 开发 不知不觉 JDK 11 已经发布了,从 9 开始,JDK 进入了让人学不动的更新 ...

  7. Java基础之Java8 新特性

    hp实训8.19_Java基础之Java8新特性 // 信息展示方法 ,接口中,就可以提供一种实现. 就可以使用这种功能.default void print() {System.out.printl ...

  8. 【JAVA拾遗】Java8新特性合辑

    [JAVA拾遗]Java8新特性合辑 文章目录 [JAVA拾遗]Java8新特性合辑 0. 逼逼 [--/--]126 Lambda Expressions & Virtual Extensi ...

  9. Java 17 版本的新特性

    Java 17 版本的新特性

  10. 详解Java 8十大新特性

    前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java ...

最新文章

  1. 求解射线交点的完整代码
  2. BUUCTF(Pwn) rip
  3. 阿里“计算”家族技术领头人分享会
  4. 纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)
  5. java springmvc权限校验_详解Spring MVC使用Filter实现登录及权限验证判断
  6. setstate是同步还是异步_谈谈 IO模型:同步、异步、阻塞、非阻塞
  7. 给定一个数组 prices计算其利润最大
  8. maven的依赖和聚合
  9. python中的__init__ 、__new__、__call__等内置函数的剖析
  10. fluent并行 linux_[转载]windows系统下启动linux主机群的fluent并行操作
  11. 月圆之夜,更新了一下1024客户端【强烈推荐更新】
  12. html复制到word乱码,word文档打开遇到错误 为什么复制粘贴后乱码
  13. linux命令行下载gcc,linux安装GCC详解
  14. 泰坦尼克号幸存者预测所用函数
  15. 强化学习第7章——基于策略的强化学习
  16. PostMan接口功能测试
  17. 大一高数下册笔记整理_大学高等数学知识点整理(全)
  18. PFX文件解析及读取、写入、删除相关操作
  19. mysql 章节作业题
  20. 基于STM32的电子时钟设计

热门文章

  1. scapy获取ip_如何使用scapy从数据包中读取整个ip层和tcp层?
  2. Web研发模式演变史
  3. FFmpeg学习(4)——为视频嵌入字幕
  4. C++_实现一个简单的智能指针shared_ptr
  5. cartographer探秘第四章之代码解析(四) --- 后端优化 --- 约束计算
  6. 怎样看pytorch源码最有效?
  7. 如何学习多传感器感知融合技术?
  8. pyspark的用法
  9. spring boot 2.0.3+spring cloud (Finchley)1、搭建服务注册和发现组件Eureka 以及构建高可用Eureka Server集群...
  10. Day 1 MySQL数据库