来源:blog.csdn.net/csdnnews/

article/details/110483909

你还能追上 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

来源:CSDN资讯
地址:https://blog.csdn.net/csdnnews/article/details/110483909

Redis 分布式锁使用不当,超卖了100瓶飞天茅台!!!
SQL优化最干货总结(2021最新版)Redis 分布式锁使用不当,超卖了100瓶飞天茅台!!!为什么MySQL不推荐使用 UUID 或者雪花id作为主键?
今天,又被Java8的时间库恶心到了,有同感的举手...
Docker从入门到干活,看这一篇足矣
程序员需知的 58 个网站好文章,我在看

JDK 16 即将发布,看完这些新特性,我感觉已经学不动了..相关推荐

  1. JDK 16 即将发布!网友:新特性挺酸爽a...

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 来源 | https://blog.csdn.net/csdnnews/article/details/110483909 你还能追上 J ...

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

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

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

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

  4. JDK 每半年就会更新一次新特性,再不掌握就要落伍了:JDK8 的新特性

    该图片由Alexandr Podvalny在Pixabay上发布 你好,我是看山. 本文收录在 <Java 进阶> 系列专栏中. 从 2017 年开始,JDK 版本更新策略从原来的每两年一 ...

  5. 服务器硬盘上面的12gb和6gb的区别,4GB和6GB有什么区别?看完千万别买错,已有多人后悔!...

    原标题:4GB和6GB有什么区别?看完千万别买错,已有多人后悔! 如今,手机的发展非常迅速,可以说手机有很多种.当我们购买手机时,我们会看到手机的各种数值.目前看,许多产品的手机都非常值得购买.他们各 ...

  6. JDK 16 GA 发布,你还停留在JDK 8吗?

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料!转自: CSDN(ID:CSDNnews) 3 月 16 日, ...

  7. 关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...

  8. 关于 Python3.9,看这张 16 岁高中生做的「新特性必知图」就够了

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...

  9. 即将到来的 ECMAScript 2022 新特性

    大家好,我是若川.持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

最新文章

  1. 关于命名空间namespace
  2. 如何用 Python 和 Flask 建立部署一个 Facebook Messenger 机器人
  3. 可以卸载什么程序来对计算机进行瘦身,电脑越来越卡了,教你一分钟让电脑瘦身(C盘哪些文件可以删除)-怎么清理电脑内存...
  4. 这才是面试官想听的:详解「递归」正确的打开方式
  5. SQL SERVER 2008不能修改表的解决方法(增加字段、修改字段名)(未解决)
  6. 如何使Layouts里的页面应用站点母板页
  7. AIR for IOS开发问题小结
  8. 互联网1分钟 | 0914
  9. 蓝桥杯练习系统 —— 题解目录
  10. Spark SQL 之SQLContext(二)
  11. json qbytearray 串 转_JSON数据采集网关,json转Modbus RTU串IO口RS485转4~20mA边缘计算智能终端...
  12. 解决:Error while compiling statement: FAILED: SemanticException [Error 10007]: Ambiguous column refere
  13. C++:指针数组理解
  14. dj鲜生-29-登陆后欢迎信息的显示
  15. python模拟购物模块_python -模拟购物 -赊账版 粗糙之极
  16. CSS div 塌陷问题
  17. python接口自动化(十八)--重定向(Location)(详解)
  18. java焦点事件如何使用_Java中如何释放鼠标事件的焦?
  19. python模块与类的区别_Python类、模块、包的概念及区别
  20. dns、网关、IP地址,主要是配置resolv.conf\network\ifcfg-eth0

热门文章

  1. oracle更新编号的值,更改oracle数据库编码
  2. 甘肃省金昌市谷歌卫星地图下载(百度网盘离线包下载)
  3. SEO建站优化要注意的一些方面
  4. 毫米波目标检测论文 阅读笔记 | Radar Transformer: An Object Classification Network Based on 4D MMW Imaging Radar
  5. (每日一练c++)CC57 链表内指定区间反转
  6. 值得收藏 |140+页文章推荐系统系列文章汇总
  7. 《Web前端开发之HTML+CSS精英课堂【渡一教育】》文档版笔记(完结)
  8. 久而久之的伤感心情日志发布:爱上一个不该爱的人
  9. 20英里还是60英里?
  10. linux下的删除文件命令,Linux下删除文件命令