点赞关注,不会迷路!   

你还能追上 Java 的更新速度吗?

当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracle 仅提供 6 个月的支持。

根据发布计划,JDK 16 将在 12 月 10 日和 2021 年 1 月 14 进入 Rampdown 阶段,2021 年 2 月 4 日到 2 月 18 日进入发布候选阶段。最终版本预计于 2021 年 3 月 16 日正式发布。

日前, JDK 16 揭晓了即将到来的新功能,接下来,我们将一睹为快:

  • 以前在 JDK 15 中预览的密封类和接口限制其他类和接口可以扩展或实现它们。该计划的目标包括,允许类或接口的作者控制负责实现它的代码,提供比访问修饰符更声明性的方式来限制超类的使用,以及通过提供模式分析的基础来支持模式匹配的未来方向。

  • 默认情况下,对 JDK 内部进行强封装,但关键内部 API(如 misc.Unsafe ) 除外。用户可以选择自 JDK 9 以来默认的宽松强封装。此建议的目标包括提高 JDK 的安全性和可维护性,作为项目 Jigsaw 的一部分,并鼓励开发人员从使用内部元素迁移到使用标准 API,以便开发人员和最终用户都可以轻松地更新到未来的 Java 版本。

  • 外部链接程序 API,提供静态类型、纯 Java 对本机代码的访问。此 API 将在 JDK 16 中处于孵化器阶段。

  • 将 ZGC(Z 垃圾收集器)线程堆栈处理从安全点移动到并发阶段。此计划的目标包括从 ZGC 安全点中删除线程堆栈处理。

  • 弹性元空间功能,它将可以更迅速地将未使用的 HotSpot VM 类元数据(元空间)内存返回到操作系统,减少元空间占用空间并简化元空间代码以降低维护成本。

  • 启用 C++ 14 语言功能,允许在 JDK C++ 源代码中使用C++ 14功能,并提供有关部分功能可用于 HotSpot VM 代码的特定指导。

  • 孵化器阶段的向量 API,其中 JDK 将安装一个孵化器模块,用于表示编译为支持的 CPU 体系结构上的最佳矢量硬件指令的矢量计算,以实现与等效标量计算更高的性能。

  • 将 JDK 移植到 Windows/AArch64 平台。随着新的服务器级和使用者 AArch64 (ARM64) 硬件的发布,Windows/AArch64 已成为一个重要的平台。

  • 在 x64 和 AArch64 体系结构上,将 JDK 移植到 Alpine Linux 和其他使用 musl 作为主 C 库的 Linux 发行版。Musl 是 ISO C 和 Posix 标准中描述的标准库功能的 Linux 实现。由于云部署、微服务和容器环境,Alpine Linux 由于其映像大小较小,因此被广泛采用。

  • 为不可变数据提供充当透明载体的记录类。

  • 增加 Unix 域套接字通道,其中 Unix 域 (AF_UNIX) 套接字支持添加到 nio.channels 包中的套接字通道和服务器套接字通道 API 中。该计划还扩展了继承的通道机制,以支持 Unix 域套接字通道和服务器套接字通道。Unix 域套接字用于同一主机上的进程间通信。它们在很多方面与 TCP/IP 套接字类似,只是它们由文件系统路径名称而不是 IP 地址和端口号寻址。新功能的目标是支持 Unix 域套接字通道的所有功能,这些功能在主要 Unix 平台和 Windows 中很常见。

  • 一种外部存储器访问 API,允许 Java 程序安全地访问 Java 堆以外的外部存储器。这一功能将在 JDK 16 中重新孵化。优化的目标包括提供单个 API 以对各种外部存储器(包括本机、持久和托管堆内存)进行操作,API 不应破坏 JVM 的安全性。此外,许多 Java 程序应访问外部存储器,如Lgnite、Memcached 和 MapDB。但是 JavaAPI 不能提供令人满意的访问外部内存 .MemorySegmentMemoryAddresses 的解决方案。

  • 用于运算符的模式匹配(该功能也在 JDK 14/15 版本中实现了预览)。在 JDK 16 上,模式匹配允许程序中的通用逻辑,即从对象中提取组件,可以更简洁、更安全地表达.instanceof 运算符

  • 提供用于打包独立的 Java应用程序 jpackage 工具。最初作为 JDK 14 中的孵化工具,jpackage在 JDK 15中仍然处于孵化期。预计到 JDK 16 版本,jpackage 将会进入生产环境中,支持本地包格式,并为用户提供流畅的安装体验,以及允许在打包时指定启动时间参数。格式包括 Windows 上的 msi 和 exe、 MacOs 上的 pkg 和 dmg、以及 Linux 上的 deb 和 rpm 。该工具可以直接从命令行调用,也可以以编程方式调用。新的打包工具解决了许多 Java 应用程序需要以一流的方式安装在本机平台上,而不是放置在类路径或模块路径上等问题。

  • OpenJDK 源代码存储库从 Mercurial 迁移到 Git。推动这项工作是借助版本控制系统元数据和可用工具及托管方面的优势。

  • 借助 JEP 369,托管平台迁移到 GitHub。在今年 9 月 5 日,Mercurial JDK 和 JDK 沙盒向 Git、GitHub 和 Skara 的过渡工作已实现。

继 Java 16 之后,Java 17 将于 2021 年 9 月发布,这是长期支持(LTS)版本,因此身处研发前线的开发者可以再等等。对此,你期待新版 Java 的到来吗?

参考链接:https://www.infoworld.com/article/3569150/jdk-16-the-new-features-in-java-16.html

最新2021整理收集的一些面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud等详细讲解,也有详细的学习规划图,面试题整理等,

点击 : 一线大厂核心技术分享 分享最新技术,走在知识前端

点击一起学习 暗号:csdn 最新学习资料+简历优化资源

后续会分享更多纯干货文章,希望能真正帮到你们。你们的支持就是我最大的动力!欢迎关注点赞啊!

JDK16 新特性速览,你还能追上 Java 的更新速度吗?相关推荐

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

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

  2. JDK 16 即将发布,迎来重大改变,新特性速览!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 来源: ...

  3. JDK 16 即将发布,新特性速览!

    往期热门文章: 1.<往期精选优秀博文都在这里了!> 2.老大,Service层需要接口吗? 3.那些总是写"烂代码"的同学,强烈推荐你用这款IDEA插件! 4.烂大街 ...

  4. golang1.16新特性速览

    目录 语言內建的资源嵌入支持 支持arm64 go modules的新特性 GO111MODULE现在默认为on go build不再更改mod相关文件 go install的变化 新的GOVCS环境 ...

  5. 16速 java_不停歇的 Java 即将发布 JDK 16,新特性速览!

    之前在 JDK 15 中预览的密封类和接口限制其余类和接口能够扩展或实现它们.该计划的目标包括,容许类或接口的做者控制负责实现它的代码,提供比访问修饰符更声明性的方式来限制超类的使用,以及经过提供模式 ...

  6. Java 15 即将到来,新特性速览!

    编译 | 苏宓 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 按照 Oracle 六个月一更新的周期来看,JDK 15 即将于今年 9 月 15 日发布.据了解,目 ...

  7. 不停歇的 Java 即将发布 JDK 16,新特性速览!

    当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracle 仅提供 6 个月的支持. 根据发布计划,JDK 16 将在 1 ...

  8. 任务调度系统 xxl-job,V1.4.1 新特性速览

    分布式任务调度系统 xxl-job新版本V1.4.1更新内容: 1.项目成功推送maven中央仓库, 中央仓库地址以及依赖如下: <!-- http://repo1.maven.org/mave ...

  9. Flink 1.14 新特性预览

    简介: 一文了解 Flink 1.14 版本新特性及最新进展 本文由社区志愿者陈政羽整理,内容源自阿里巴巴技术专家宋辛童 (五藏) 在 8 月 7 日线上 Flink Meetup 分享的<Fl ...

最新文章

  1. 基于感知损失的实时风格迁移与超分辨率重建
  2. 预测性智能的力量:AI 和机器学习将如何改变美国政府决策?
  3. 3皮卡丘眨眼代码_活见久,皮卡丘居然是一门编程语言
  4. C++:13---继承(单一继承、多重继承、多级继承、菱形继承、虚继承)
  5. JavaWeb无限级分销结构分析
  6. php time java_java 时间戳和PHP时间戳 的转换 php time()
  7. 解决visual studio换行(回车键)不能代码补全问题
  8. python 人工智能课程对孩子的好处_少儿编程有什么好处?儿童编程课程学习Python的4大原因...
  9. Concurrent and Parallel
  10. c语言中if内函数值为零,C语言——if(0)之后的语句真的不会执行吗?
  11. 利用 MATLAB 和 DCRAW 处理数码相机 RAW 文件的完整流程
  12. 机器学习06|两万字:决策树 【jupyter代码详解篇】
  13. 企业文档管理难题,云盒子来解决!
  14. 虚拟机屏幕自适应问题
  15. ue4网格转地形_不用建模就能生成地形,SU怎么办到的?!
  16. 【已解决】程序异常终止:Process finished with exit code -1073741819 (0xC0000005)
  17. make编译打印详细日志
  18. 【NIO与Netty】网络编程:netty中粘包、半包现象展示,分析及解决
  19. 计算机基本配置监测表,无敌教学贴!关于Garmin腕表基本操作 看这一篇就够了...
  20. 有没有测试眼型的软件,好看的眼型有这四个特征,第一个最高级,不妨自测一下自己的吧!...

热门文章

  1. 物联网工程 | CAN(Controller Area Network)控制器局域网络详解
  2. 北京信息科技大学第十一届程序设计竞赛(重现赛)E kotori和素因子
  3. Mixed Strategy Game
  4. 这11款chrome神器,用起来爽到爆
  5. jQuery使用addClass添加样式不生效
  6. 毫米波雷达识别问题分析及解决措施
  7. 值得收藏 |140+页文章推荐系统系列文章汇总
  8. “Error 403--Forbidden”错误
  9. 《第一行代码》第三版笔记
  10. 如何用人工智能免费抠除任意视频背景?