6

我今天正在讨论这些年来是否曾从核心 Java SDK 中删除任何类或方法。我知道某些东西已被弃用,但它是否曾被更改或删除?

我认为它有(我想不出例子)所以也许我错了。

我在网上阅读了一些文章,这些文章表明没有任何内容被删除 - 永远!

有什么想法吗?

4

2 回答 2

3

最好看看 Oracle 的这篇文章:Java SE 7 and JDK 7 Compatibility

文章中的一个小复制粘贴:

源兼容性

Java SE 7 包括新的语言特性和平台 API。如果在源文件中使用这些,则无法在 Java 平台的早期版本上编译该源文件。

一般来说,源代码兼容性策略是为了避免引入源代码不兼容问题。

不推荐使用的 API 是仅支持与以前版本兼容的接口。每当使用其中之一时,javac 编译器都会生成一条警告消息,除非使用了 -nowarn 命令行选项。建议修改程序以消除对已弃用 API 的使用,尽管目前没有计划从系统中完全删除此类 API。

sun.* 包中的一些 API 已更改。这些 API 不适合开发人员使用。从 sun.* 包导入的开发人员需要自担风险。有关更多详细信息,请参阅为什么开发人员不应该编写调用 sun.* 包的程序。

于 2012-11-05T19:18:43.783 回答
0

doc.oracle.com 上有兼容性文档,其中包括有关不兼容性的部分。您可以在这些文档中找到小块,例如...

  • apt 功能已被 JSR 269 中的标准化注释处理取代。在 JDK 7 中运行 apt 工具会打印一条警告,指出它将在下一个主要版本中删除。
  • 在 Java SE 6 中移除了 JVMDI 并禁用了 JVMPI
  • 删除了 XSLTProcessorApplet 类
于 2012-11-05T19:19:04.833 回答