我今天正在讨论这些年来是否曾从核心 Java SDK 中删除任何类或方法。我知道某些东西已被弃用,但它是否曾被更改或删除?
我认为它有(我想不出例子)所以也许我错了。
我在网上阅读了一些文章,这些文章表明没有任何内容被删除 - 永远!
有什么想法吗?
我今天正在讨论这些年来是否曾从核心 Java SDK 中删除任何类或方法。我知道某些东西已被弃用,但它是否曾被更改或删除?
我认为它有(我想不出例子)所以也许我错了。
我在网上阅读了一些文章,这些文章表明没有任何内容被删除 - 永远!
有什么想法吗?
最好看看 Oracle 的这篇文章:Java SE 7 and JDK 7 Compatibility
文章中的一个小复制粘贴:
源兼容性
Java SE 7 包括新的语言特性和平台 API。如果在源文件中使用这些,则无法在 Java 平台的早期版本上编译该源文件。
一般来说,源代码兼容性策略是为了避免引入源代码不兼容问题。
不推荐使用的 API 是仅支持与以前版本兼容的接口。每当使用其中之一时,javac 编译器都会生成一条警告消息,除非使用了 -nowarn 命令行选项。建议修改程序以消除对已弃用 API 的使用,尽管目前没有计划从系统中完全删除此类 API。
sun.* 包中的一些 API 已更改。这些 API 不适合开发人员使用。从 sun.* 包导入的开发人员需要自担风险。有关更多详细信息,请参阅为什么开发人员不应该编写调用 sun.* 包的程序。
doc.oracle.com 上有兼容性文档,其中包括有关不兼容性的部分。您可以在这些文档中找到小块,例如...
- apt 功能已被 JSR 269 中的标准化注释处理取代。在 JDK 7 中运行 apt 工具会打印一条警告,指出它将在下一个主要版本中删除。
- 在 Java SE 6 中移除了 JVMDI 并禁用了 JVMPI
- 删除了 XSLTProcessorApplet 类