java.io.ObjectInputFilter
在创建反序列化流时提供验证逻辑。但是,依赖流的创建者来明确请求验证有局限性。JDK Enhancement Proposal 290通过引入可通过 API、系统属性或安全属性设置的 JVM 范围的反序列化过滤器解决了这些限制,但这种方法也有局限性,尤其是在复杂的应用程序中。更好的方法是配置每个流过滤器,这样它们就不需要每个流创建者的参与。计划中的增强应帮助开发人员为每个反序列化上下文和用例构建和应用适当的过滤器。strictfp
) 和细微不同的默认浮点语义。这将原始浮点语义恢复到语言和 VM,匹配 Java 标准版 1.2 中引入严格和默认浮点模式之前的语义。这项工作的目标包括简化数字敏感库的开发,包括java.lang.Math
和java.lang.StrictMath
. 1990 年代后期更改默认浮点语义的动力源于原始 Java 语言和 JVM 语义之间的不良交互以及流行的 x86 架构的 x87 浮点协处理器指令集的一些特殊性。在所有情况下匹配精确的浮点语义,包括非正规操作数和结果,需要大量额外指令的开销。在没有上溢或下溢的情况下匹配结果可以用更少的开销来完成,这大致是 Java SE 1.2 中引入的修改后的默认浮点语义所允许的。但是 SSE2(Streaming SIMD Extensions 2)扩展,从 2001 年左右开始在 Pentium 4 和更高版本的处理器中提供,可以以直接的方式支持严格的 JVM 浮点运算,而不会产生过多的开销。System::exit
。计划要求弃用安全管理器以与旧 Applet API 一起删除,该 API 也计划在 JDK 17 中弃用。switch
预览版扩展了 Java 中的模式语言,允许switch
针对多个模式测试表达式和语句,每个模式都有特定的操作。这使得复杂的面向数据的查询能够简洁而安全地表达。此功能的目标包括switch
通过使模式出现在案例标签中来扩展表达式和语句的表达能力和应用,放松历史对switch
何时需要的空敌意,以及引入两种模式:guarded patterns
,允许模式匹配逻辑用任意布尔表达式和 精炼parenthesized patterns
,解决了一些解析歧义。在JDK 16 中,instanceof
运算符被扩展为采用类型模式并执行模式匹配。提议的适度扩展允许简化熟悉的 instanceof-and-cast 习语。sun.misc.Unsafe
,将不再可能通过单个命令行选项放松内部元素的强封装,这在 JDK 9 到 JDK 16 中是可行的。计划包括提高 JDK 的安全性和可维护性,并鼓励开发人员从内部元素迁移到标准 API。RandomGenerator
将为所有现有的和新的 PRNG 提供统一的 API。将提供四个专门的 RandomGenerator 接口。推动该计划的重点是 Java 伪随机数生成领域的多个改进领域。这项工作不需要提供许多其他 PRNG 算法的实现。但是已经添加了三种常用算法,这些算法已经广泛部署在其他编程语言环境中。该计划的目标包括:
java.util.Random
。http://blog.xqlee.com/article/879.html