Oracle 已经发布了 Java Development Kit 10,下一个版本 JDK 11 也在准备之中了。按照 Java 新的版本发布标准,Java 11 将在 6 个月后到来,现在它还只有一部分新功能。
据了解,Java 11 将移除 CORBA 和 Java EE(最近更名为 Jakarta EE)模块同时也会移除 JavaFX,因此,Java 11 也将失去一些功能。
与 JDK 10 不同,JDK 11 将成为 Java 平台标准版 Java SE 11 的参考实现。JDK 11 将在 2023 年 9 月之前从 Oracle 获得首要级别的支持,并将扩展支持 ,具有补丁和安全警报,直至 2026 年。
计划用于 Java 11 的新功能
目前,JDK 11 只设置了三个新功能,包括:
Epsilon 垃圾收集器被称为“no-op”收集器,将处理内存分配而不实施任何实际的内存回收机制。 Epsilon 的使用案例包括测试性能,内存压力和虚拟机界面。 它也可以用于短期工作。
lambda 参数的局部变量语法,应该将隐式类型表达式中的形式参数声明的语法与局部变量声明的语法对齐。 这将允许在声明隐式类型的 lambda 表达式的形式参数时使用 var。
Java类文件格式将被扩展为支持一个新的常量池形式CONSTANT_Dynamic。 目标是降低开发新形式的可实现的类文件约束的成本和中断。
Java 11 将摈弃的部分
Java EE EE 和 CORBA 模块在 Java SE 9 中已弃用,意图在 Java 11 中将它们删除。
2006 年 12 月发布的 Java SE 6 包含了一个完整的 Web 服务栈,以方便开发人员,其中包括为 Java EE 平台构建的几种技术:
JAX-WS(基于 XML 的 Web 服务的 Java API,JAXB XML 绑定)
JAF(JavaBeans 激活框架)
Java 常用注释
等等
随着时间的推移,Java EE 版本不断发展,给 Java SE 的发展带来困难,例如与 Java SE 无关的技术和跨两个 Java 版本的维护更加困难。Oracle 表示在 Java SE 或 JDK 中不再需要借助第三方站点提供的独立版本的 Java EE 技术。
一些依赖于 JDK for Java EE API 和工具的开箱即用的应用,将无法编译或运行。另外,将 JDK 6,7 或 8 迁移到更高版本时会出现二进制和源不兼容的问题。 甲骨文表示,受这些风险影响的开发人员可以部署替代版本的 Java EE 技术来解决。
本文转自微信公众号:开源中国