小程序的终结!
Oracle 将在JEP-398中将 Applet API 标记为删除。在所有主要浏览器都取消了对自上个千年以来支持 Java Applet 的 NPAPI 插件的支持之后,该划分遵循了多年的弃用通知 ( JEP-289 )。
Java Applet 初支持富 Internet 应用程序,当时浏览器的功能较少,用于开发应用程序的标准也较少。启用 Java 小程序的功能由Netscape 插件应用程序编程接口(NPAPI) 提供支持,以在浏览器中运行沙盒 Java 应用程序。NPAPI 于 1995 年次出现在浏览器中,早在Mozilla(2005 年)和Chrome的 个版本(2008 年)的合并之前。
在现代浏览器标准出现之前,这些小程序通常用于文件传输、身份验证以及 JavaScript 无法处理的各种其他情况等活动。浏览器于 2015 年开始取消对 NPAPI 的支持,以简化维护,与 Oracle 发布的白皮书“从 Java 小程序迁移到无插件 Java 技术”起运行。
尽管在 2015 年 API 更改之前,安全性直是与 Java 小程序相关的个感兴趣的话题,但许多组织能够通过管理工具(如部署规则集)或在隔离的 Citrix 环境中将 Java/浏览器兼容性锁定在起来保护客户端。
虽然以前的 Java 版本已将 Java 小程序标记为已弃用,但 API 仍保留在原地,以避免在不使用小程序功能的情况下以某种方式利用 API 的应用程序出现编译或运行时问题。此功能将项目标记为已弃用并延迟删除,在 Java 和 OpenJDK 平台的前 20 年中是标准配置。
InfoQ 与OpenJDK 贡献者 Stuart Marks 的另位Deprecator 博士就 OpenJDK 项目如何使用 @Deprecated 标签进行通信以及已弃用的内容进行了交谈。
Java 9 增强了@Deprecated 注释以添加个名为 forRemoval 的属性。在 JEP-398 更改之后,applet API 将设置 forRemoval=true 属性,从而导致编译器和工具在 API 被实际删除之前发出更强烈的警告。通过多个警告门有助于避免社区代码中断,这与语言架构师 Brian Goetz 2015 年的演讲“刻意移动,不要破坏任何东西”致。
已从核心 Java API 中删除的其他项目包括:
CORBA,对象管理组 (OMG) 于 1991 年推出的互操作性框架,其新版本于 2012 年发布
JAXB,现在在 Jakarta EE 中维护的组 XML API
Nashorn,个 JavaScript 执行引擎
较小的更改,如Thread.stop(Throwable)、System.runFinalizersOnExit和RMI Stub Compiler
想知道此更改是否会影响他们的应用程序或任何依赖项的用户可以在其代码及其依赖项上利用两个工具的组合:
jdeps,种分析使用危害兼容性的 API 的工具。这可以帮助团队了解他们是否使用任何可能会更改的非规范 API。
jdeprscan,个用于针对弃用注释分析代码的实用程序,以了解如果不适应待决弃用,它将如何面临风险。
当被问及是否可以将弃用应用于 Serialization、面向小程序的 SecurityManager 和其他方面时,Deprecator 简单地回答说:“拿着我的啤酒”,以表明可能正在进行更改。
相关文章
服务热线:0632-5272123,0632-5271123
业务咨询:13969468882,18006320170
营销中心:山东省 枣庄市 市中区 中坚1878 A406室
邮箱:kf@zzint.com