首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java 11中,大部分被弃用的类/接口不会立即删除

Java 11中,大部分被弃用的类/接口不会立即删除

原创
作者头像
搜罗万相
发布2025-10-13 16:48:01
发布2025-10-13 16:48:01
2510
举报
文章被收录于专栏:Java开发Java开发

在Java 11中,被弃用(deprecated)的类或接口是否会被完全删除,取决于其“弃用级别”和Java的版本演进策略:

  1. 大多数被弃用的类/接口不会立即删除undefinedJava对API的兼容性非常重视,通常会经历“标记弃用→长期保留→(可能)最终删除”的过程。例如:
    • Thread.stop()Object.finalize()等方法在Java 11中被标记为“弃用并计划删除”(deprecated for removal),但仍可使用。
    • sun.misc.BASE64Encoder等内部API在Java 11中被强烈建议替换,但未完全删除(仅在特定场景下不可用)。
  2. 部分过时技术会被直接删除undefined对于已经被行业淘汰、几乎无实际应用的技术,Java 11会直接移除,而非仅标记弃用:
    • Java EE相关模块java.corbajava.xml.ws等模块在Java 11中被完全删除(这些在Java 9中已标记为“废弃并计划删除”)。
    • Applet相关工具appletviewer工具在Java 11中被直接移除,因Applet技术已被淘汰。
  3. 未来版本可能删除“计划删除”的APIundefinedJava 11中标记为“@Deprecated(forRemoval = true)”的类/方法,会在后续版本(如Java 17、21等)中被删除。例如:
    • finalize()方法在Java 11中标记为forRemoval = true,并在Java 18中正式移除(但仍有兼容模式)。

总结

Java 11中,大部分被弃用的类/接口不会立即删除,但“计划删除”的API会在未来版本中移除。对于已删除的技术(如CORBA、Applet),则需立即迁移到替代方案。开发时应优先使用非弃用API,避免依赖“计划删除”的功能,以确保代码在未来版本中兼容。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档