JDK 17:Java 17 中的新特性

始终严格的浮点语义、外部函数和内存 API 以及伪随机数生成器的统一 API 计划用于 9 月发布的 Java 长期支持版本。

Java 17 的功能集现已冻结,标准 Java 的下一版本将拥有 10 个新功能以及两个功能删除和两个功能弃用。为版本 17 设置的功能包括上下文特定的反序列化过滤器支持,这是一项安全增强,以及 switch 语句和表达式的模式匹配预览。

Java Development Kit (JDK) 17 将于 9 月 14 日发布生产版本,将成为长期支持 (LTS) 版本,预计 Oracle 将提供数年的扩展支持。该功能集在 6 月 10 日被冻结,当时 JDK 17 达到初始斜降阶段。稳定存储库jdk17已开放用于选择错误修复,并在获得批准后进行后期增强。作为 OpenJDK JDK 17 的一部分提交的功能包括:

  • 特定于上下文的反序列化过滤器允许应用程序通过调用 JVM 范围的过滤器工厂来配置特定于上下文和动态选择的反序列化过滤器,以便为每个序列化操作选择一个过滤器。在解释该提议背后的动机时,Oracle 表示反序列化不受信任的数据是一种固有的危险活动,因为传入数据流的内容决定了创建的对象、其字段的值以及它们之间的引用。在许多用途中,流中的字节是从未知、不受信任或未经身份验证的客户端接收的。通过仔细构建流,攻击者可以导致恶意执行任意类中的代码。如果对象构造具有改变状态或调用其他操作的副作用,则这些操作可能会危及应用程序对象的完整性,库对象和 Java 运行时。禁用序列化攻击的关键是防止任意类的实例被反序列化,从而防止直接或间接执行它们的方法。反序列化过滤器被引入Java 9使应用程序和库代码能够在反序列化之前验证传入的数据流。此代码java.io.ObjectInputFilter在创建反序列化流时提供验证

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值