随着折旧建议在JAVA领域的浮动,支持者看清除空气中,当谈到在平台使用过时的API。
确定为JDK增强提案(JEP):277增强弃用,从Oracle的斯图尔特标志着计划将改造的废弃注释,并提供工具来提振特征生命周期的末端。它要求提供有关状态更好的信息和API的预期处分,并提高运行时发出警告,使遭到淘汰的API的应用程序的动态使用可以被记录。的工具将提供给生成有关此用法的静态信息。
的API弃用最近成为一个热点问题,当甲骨文提出做私人的API无法访问在Java中9甲骨文然后后退了一点,并决定离开他们几个,包括广受欢迎的sun.misc.Unsafe API, 无障碍。“的Java SE弃用机制需要进行完善,它已经应用不一致,且有关于它的意义和它的正确使用,混乱”的提案国。
在Java标准版9,其意在实现由于明年秋天,该提案还打算对于该功能的生命周期,以澄清的Java SE和JDK的政策。这包括围绕作为弃用和特征被去除之前,发出通知的量注释功能要求。“这应该以一种更及时地除去倒闭的功能”的提案国。
Java已经有折旧注释,但它是不是所有的有效。“很少失效的API实际上是删除”,根据该提案,“领导人们相信,没有什么会永远被删除。在另一方面,有困惑,因为其他人都认为任何弃用最终可能会被删除,这是从来没有意图不是“。开发商因此结束了关于“过时”的含义,什么遭遇弃用的API的使用情况时做一个清楚的信息。
“作为API的在JDK的后续版本变得过时,现有的二进制继续依靠与没有警告使用已弃用的API”的建议说。“如果一个过时的API是在JDK版本中删除,即使一个或多个版本的它被弃用,这会令人不愉快的惊喜,旧的应用程序二进制文件的用户。”该应用程序将失败,并链接错误,没有警告。
“更糟的是,有没有办法为开发商检查现有的二进制文件是否有弃用的API,任何依赖” JEP 277的状态。“这将导致二进制兼容性,并需要通过旧的API的退休进化规范之间显著紧张。”
JEP 277第一次创建,去年十月下旬更新;建议在最近的JavaOne大会上演示过程中最近宣布。
这个故事,“甲骨文的提案澄清的Java API弃用”,由最初发表InfoWorld的 。