当开发者深陷 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://blog.csdn.net/csdnnews/article/details/110483909

不停歇的 Java 即将发布 JDK 16,新特性速览!相关推荐

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

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

  2. golang1.16新特性速览

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

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

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

  4. JDK 16 新特性,正式发布!程序员:追不上了...

    点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 地址:https://blog.csdn.net/csdnnews/article/det ...

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

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

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

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

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

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

  8. JDK 16 新特性,正式发布!程序员:追不上了……

    感谢关注趣学程序!公众号内部回复666获取热门教程 来源:CSDN资讯 blog.csdn.net/csdnnews/article/details/110483909 是的,你确实没有看错,JDK1 ...

  9. JDK16 新特性速览,你还能追上 Java 的更新速度吗?

    点赞关注,不会迷路!    你还能追上 Java 的更新速度吗? 当开发者深陷 Java 8 版本之际,这边下一版本 Java 16 有了最新的消息,与 Java 15 一样,作为短期版本,Oracl ...

最新文章

  1. 判断图有无环_链表:环找到了,那入口呢?
  2. ALSA声卡笔记3--ASoC驱动重要结构体关系图
  3. c++ 浮点数转换成字符串_Python如何处理数据?如何把数据转换成我们想要的?三种处理方法...
  4. poj 1298 The Hardest Problem Ever
  5. rocketmq之控制台rocketmq-console编译安装(二)
  6. 电源变换适用于非独立源码_适用于非None测试的Python程序
  7. 通过Ajax的方式执行GP服务
  8. 由于没有公钥,无法验证下列签名 :NO_PUBKEY 的解决方法
  9. java版的贪吃蛇。
  10. SFB 项目经验-15-配置会议邀请中企业信息
  11. C#时间格式转换时间戳
  12. GPU通用计算与CUDA
  13. python前端学习之js
  14. android部分手机input、textarea输入框背景色和页面整体背景色不一致
  15. POI导出EXCEL自定义背景颜色
  16. 图片加载用Fresco,网络请求用OKhttp+Retrofit实现
  17. 屯特大学计算机排名,荷兰屯特大学世界排名2021
  18. 2022蓝桥杯学习——6.双指针、BFS和图论
  19. kingscada检测服务器状态,KingSCADA WEB发布总结
  20. html编辑dreamweaver,HTML在线编辑器不需要懂得使用Dreamweaver

热门文章

  1. 51Nod - 1035 最长的循环节
  2. .Net 中HashTable,HashMap 和 Dictionarykey,value 和ListT和DataTable的比较
  3. G - Strongly connected - hdu 4635(求连通分量)
  4. Ubuntu 误改/etc/sudoers 文件权限
  5. Scrum敏捷开发沉思录
  6. OpenJudge计算概论-找和为K的两个元素
  7. Boghe连接FreeSwitch的配置
  8. C和C++的区别 04.函数重载
  9. cordova 强制竖屏
  10. Java中long和Long有什么区别