点击上方“朱小厮的博客”,选择“设为星标”

后台回复"书",获取

后台回复“k8s”,可领取k8s资料

JDK/Java 16 已于今年 3 月份正式 GA,这是一个短期维护版本,仅有 6 个月的技术支持。下一个版本 JDK/Java 17 计划于今年 9 月 14 日发布,这是一个长期支持(LTS)版本,预计 Oracle 将提供数年的扩展支持。

JDK 17 现在已经进入了第二个也是最后一个候选版本阶段(RC),目前最新版本是 Build 35。

按 InfoWorld 所述,OpenJDK JDK 17 的部分功能包括有:

  • Context-specific 反序列化过滤器允许应用程序通过调用 JVM-wide filter factory 为每个序列化操作选择过滤器,来配置 context-specific  和 dynamically selected 的反序列化过滤器。

  • 随着 always-strict 浮点语义的恢复,浮点运算将保持一致的严格;而不是同时具有严格的浮点语义 ( strictfp) 和有着微妙出入的默认浮点语义。这就为语言和 VM 恢复了原始的浮点语义,与 Java Standard Edition 1.2 中引入严格和默认浮点模式之前的语义相匹配。

  • 弃用 Security Manager,准备在未来版本中移除。追溯到 Java 1.0,Security Manager 一直是保护客户端 Java 代码的主要手段,很少用于保护服务器端代码。该提案的一个目标是评估是否需要新的 API 或机制来解决使用 Security Manager 的特定狭窄用例,例如阻塞System::exit。计划要求弃用 Security Manager 以与旧 Applet API 一起删除,该 API 也计划在 JDK 17 中弃用。

  • switch模式匹配预览版扩展了 Java 中的模式语言,允许switch表达式和语句可以针对多个模式进行测试,每个模式都有特定的操作。这使得复杂的面向数据的查询能够简洁而安全地表达。此功能的目标包括:通过使模式出现在案例标签中,来扩展switch表达式和语句的表现力和应用,在需要时放宽switch的 historical null-hostility,并引入两种模式:guarded patterns,允许用任意的布尔表达式来完善模式匹配逻辑,以及parenthesized patterns,解决了一些解析歧义。在 JDK 16 中,instanceof运算符被扩展为采用类型模式并执行模式匹配。提议的适度扩展允许简化熟悉的 instanceof-and-cast 习语。

  • JDK 内部的强封装,除了sun.misc.Unsafe等关键的内部 API 外,用户将不再可能通过单个命令行选项来 relax 对内部元素的强封装,这在 JDK 9 到 JDK 16 中是可行的。该计划的目标包括提高 JDK 的安全性和可维护性,并鼓励开发人员从内部元素迁移到标准 API。

  • 删除远程方法调用 (RMI) 激活机制,同时保留 RMI 的其余部分。RMI 激活机制已过时和废弃,在 JDK 15 中不推荐使用。

  • 在外部函数和 memory API 引入了一个孵化器阶段,允许 Java 程序与 Java 运行时之外的代码和数据进行互操作。API 计划的目标包括易用性、性能、通用性和安全性。

  • 与平台无关的矢量 API 作为孵化 API 集成到 JDK 16 中,将在 JDK 17 中再次孵化,提供一种机制来表达矢量计算,这些计算在运行时可靠地编译为支持的 CPU 架构上的最佳矢量指令。这比等效的标量计算获得了更好的性能。在 JDK 17 中,向量 API 已针对性能和实现进行了增强,包括在字节向量与布尔数组之间进行转换的增强功能。

  • 密封类和接口限制哪些其他类或接口可以扩展或实现它们。该提案的目标包括允许类或接口的作者控制哪些代码负责实现它,提供比访问修饰符更具声明性的方式来限制超类的使用,并通过为模式的详尽分析提供基础来支持模式匹配的未来方向。

  • 删除实验性 AOT 和 JIT 编译器,它们几乎没有使用,但需要大量维护工作。该计划要求维护 Java 级别的 JVM 编译器接口,以便开发人员可以继续使用外部构建的编译器版本进行 JIT 编译。

  • 将 JDK 移植到 MacOS/AArch64 以响应 Apple 将其 Macintosh 计算机从 x64 转换到 AArch64 的计划。针对 MacOS/AArch64 的更改有可能破坏现有的 Linux/AArch64、Windows/AArch64 和 MacOS/x64 port,但这种风险可通过预集成测试来降低。

  • 弃用 Applet API 以进行删除。这个 API 本质上是无关紧要的,因为所有 Web 浏览器供应商要么已经取消了对 Java 浏览器插件的支持,要么已经宣布了这样做的计划。Applet API 之前在 2017 年 9 月的 Java 9 中已被弃用,但并未删除。

  • 用于 MacOS 的新渲染管道,使用 Apple Metal API 作为使用已弃用 OpenGL API 的现有管道的替代方案。该提议旨在为使用 MacOS Metal 框架的 Java 2D API 提供一条功能齐全的渲染管道,为苹果从未来版本的 MacOS 中删除 OpenGL API 做好准备。该管道旨在功能上与现有的 OpenGL 管道相当,在某些应用程序和基准测试中具有相同或更好的性能。将创建适合当前 Java 2D 模型的干净架构。管道将与 OpenGL 管道共存,直到被淘汰。本提案的目的并不是添加任何新的 Java 或 JDK API。

  • 增强的伪随机数生成器将为伪随机数生成器(PRNG)提供新的接口类型和实现,包括可跳转的 PRNG 和额外的一类可拆分 PRNG 算法 (LXM)。新接口RandomGenerator将为所有现有的和新的 PRNG 提供统一的 API;将提供四个专门的 RandomGenerator 接口。该计划的动机是关注 Java 中伪随机数生成领域的多个改进领域。这项工作不需要提供许多其他 PRNG 算法的实现。但是已经添加了三种常用算法,这些算法已经广泛部署在其他编程语言环境中。该计划的目标包括:

    • 使在应用程序中交替使用各种 PRNG 算法变得更容易。

    • 改进了对基于流的编程的支持,提供了 PRNG 对象流。

    • 消除现有 PRNG 类中的代码重复。

    • 保留类java.util.Random的现有行为。

JDK 17 等 LTS 版本每三年发布一次,上一个LTS 版本 JDK 11 于 2018 年 9 月发布。

详情可查看:https://jdk.java.net/17/


想知道更多?扫描下面的二维码关注我后台回复"技术",加入技术群后台回复“k8s”,可领取k8s资料【精彩推荐】
  • ClickHouse到底是什么?为什么如此牛逼!

  • 原来ElasticSearch还可以这么理解

  • 面试官:InnoDB中一棵B+树可以存放多少行数据?

  • 架构之道:分离业务逻辑和技术细节

  • 星巴克不使用两阶段提交

  • 面试官:Redis新版本开始引入多线程,谈谈你的看法?

  • 喜马拉雅自研网关架构演进过程

  • 收藏:存储知识全面总结

  • 微博千万级规模高性能高并发的网络架构设计

JDK/Java 17 可能带来什么新特性?相关推荐

  1. JDK/Java 14 可能带来什么新特性?

    JDK/Java 13 在一个月前已经发布,该版本带来了 5 大新特性,笔者观察到其中的 Text Blocks(文本块)特性似乎被讨论最多.文本块特性与常见的 Python "" ...

  2. JDK/Java 16 可能带来什么新特性?

    JDK 15 已于今年 9 月 15 日发布,这是一个短期版本,只会受到 Oracle 6 个月的支持.JDK 16 将作为标准 Java 版本的参考实现在 2021 年 3 月 16 日发布.与 J ...

  3. Java 14 可能带来什么新特性?

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | 公众号「开源中国」 JDK/Java 13 在一个月前已 ...

  4. tomcat7.0支持什么版本的jdk_JDK/Java 16 可能带来什么新特性?

    点击"蓝字"关注我们吧 JDK 15 已于今年 9 月 15 日发布,这是一个短期版本,只会受到 Oracle 6 个月的支持.JDK 16 将作为标准 Java 版本的参考实现在 ...

  5. 从 Java 12 到 Java 17 那些激动人心的新特性

    点击"终码一生",关注,置顶公众号 每日技术干货,第一时间送达! 2021 年 9 月,Oracle 发布了 Java 17,Java 的下一个长期支持版本.如果你在使用 Java ...

  6. JAVA 17版本介绍(二)新特性介绍

    文章目录 1.随着always-strict 浮点语义的恢复 2.增强型伪随机数生成器 3.新的 macOS 渲染管线 4.macOS/AArch64 端口 5.弃用 Applet API 6.JDK ...

  7. JDK/Java 17 马上来袭,看看带来哪些新特性?

    点击"终码一生",关注,置顶公众号 每日技术干货,第一时间送达! JDK/Java 16 已于今年 3 月份正式 GA,这是一个短期维护版本,仅有 6 个月的技术支持.下一个版本 ...

  8. Java 17 将至,可能带来哪些新特性呢?

    文 | 白开水 出品 | OSC开源社区(ID:oschina2013) JDK/Java 16 已于今年 3 月份正式 GA,这是一个短期维护版本,仅有 6 个月的技术支持.下一个版本 JDK/Ja ...

  9. Java9发布回顾Java 8的十大新特性

    java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9. 今天,我们先来一起复习一下2014年发布的Java 8的十大新特性.先来喝杯java~~~ 按 ...

最新文章

  1. 推荐 2个十分好用的 pandas 数据探索分析神器!
  2. CentOS 上安装MYSQL+Apache+PHP
  3. 034_Unicode标准
  4. Java小游戏 —— 德州扑克
  5. STM32开发 -- Keil使用(2)
  6. PaddleOCR——CUDA9.0环境中训练运行错误【Cudnn error, CUDNN_STATUS_BAD_PARAM】解决方案
  7. c 11 主要的新语言特性,关于c ++ 11:有没有办法确定C ++编译器实现的语言特性?...
  8. no ip domain-lookup 什么意思
  9. window.close() 关闭当前浏览器页
  10. java 泛型 `<E extends Enum<E>>`
  11. JMeter性能测试中如何使用“用户参数”实现参数化
  12. java 反射 数组,Java 数组
  13. Bootstrap 模态框(Modal)插件
  14. unbtun python tab补全
  15. lisp 吴永进_AutoCAD 完全应用指南
  16. 如何为自定义的控件在工具箱中自定义个性化的图标
  17. 国内外CDN服务商CNAME特征串调研
  18. 国产低代码开发平台,这5个值得一试
  19. centos7 lvm分区扩容(空间转移,将/home转至/根分区)
  20. Aandroid最简单最全面的热修复

热门文章

  1. 3 ie兼容 vue_前端开发:MVVM框架之Vue势必会取代JQuery吗?
  2. 计算机博士专业学位,河海大学计算机应用技术博士专业学位研究生培养方案
  3. 两个iphone怎么大量传照片_手机照片删除了怎么恢复?这两个简单方法一看就会,还不收藏?...
  4. 紧急通知!最新版CleanMyMac X月底倒计时清仓冲量!
  5. NAT的extendable参数,使得一个地址被不同接口NAT出去测试
  6. ADSL使用注意事项
  7. 关于MySql插入数据的乱码问题
  8. MySQL5日期类型DATETIME和TIMESTAMP相关问题详解
  9. 你正在用左脑还是右脑思考,请测试下就清楚了。
  10. 组图:2000悉尼奥运会