栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

标记为“已弃用”的API方法何时真正消失?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

标记为“已弃用”的API方法何时真正消失?



tl; dr
从JDK 13开始,所有原始java.util.Date方法仍然存在,但是现在可以将这些API和其他API 明确标记为要删除。最近已删除了许多其他不推荐使用的API。

完整答案
在JDK 9之前,从未删除过JDK中不推荐使用的API。该发行版是称为“ 增强的弃用”功能的一部分,引入了该

@Deprecated(forRemoval=true)
标志并将其添加到数十个先前弃用的API中。

同样,在该语言的历史上,JDK 9首次删除了由于模块化的障碍而被JDK 8弃用的API(Java SE 9规范的完整列表)。

从那时起,每个JDK版本都删除了其他以前标记为要删除的API。大多数版本还forRemoval向以前不建议使用的API 添加了标志,或者添加了全新的删除要求:

删除了

SecurityManager和Runtime
类(完整列表)中的一些API 。
forRemoval:其他先前不推荐使用的API,例如整个java.security.acl程序包和finalize()某些I / O类的方法(完整列表)。
删除
Thread.destroy()
Thread.stop()
其他一些方法和Policy类(名单),所有这些已被JDK 9或10提出了去除-分别只有12个和6个月前。
forRemoval:java.util.jar.Pack200API(完整列表)。
仅在12个月前在JDK 10中宣布删除finalize()某些I / O类的方法(完整列表)。
forRemoval: 没有
去除
Runtime.traceInstructions()
Runtime.traceMethodCalls()
,标志着在JDK

9两年前(去除完整列表)。
forRemoval:javax.security.cert包装和其他一些方法。最值得注意的是,完整列表包括java.lang.String此版本中仅添加的几种方法,但是由于它们与“文本块”预览功能有关,可能会再次消失。

Takeaways

不推荐使用的删除API很可能会很快删除。请认真对待。尽管可能无法在forRemoval标记后将其删除(例如,Thread.stop()在JDK 9中标记,但在JDK

  1. 之前未删除),但它可能很快发生。
    没有一个不推荐使用的API是安全的,因为即使很长一段时间不推荐使用的API现在也可以很快删除:一个JDK版本设置了该forRemoval标志,下一个则删除了该API。例如,被JDK

  2. 删除的API已被弃用至少20年(自JDK 1.2起),以至于有些人可能会感到惊讶。
    如今,随着Oracle 使用JDK 10 切换到6个月的发布周期,弃用和删除发生的速度更快。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号