在 Java 8 中,Oracle删除了sun.misc.Compare 接口和sun.misc.Sort 类。JDK 不再使用这两个旧的残留类。sun.misc.Compare 接口允许开发人员比较两个Object 对象,并返回int 值。sun.misc.Sort 类接收一个sun.misc.Compare 类型的参数,并使用快速排序算法对Object 对象数组进行排序。sun.misc 是Sun/Oracle 的内部包,由于它不被公开支持,而且不能在所有JVM 间移植,所以开发人员不应该使用这个包。
最初的建议是弃用这两个类,但在OpenJDK核心库开发邮件列表的成员一致同意后,Oracle 就把它们从JDK 中删除了。读者可以从话题“弃用sun.misc.Sort 和sun.misc.Compare ”中读到整个讨论过程。另外,读者可以查看 JDK-6852936 ,这是 Oracle JDK 中一个优先级为 4 的 Bug,用于提请删除 sun.misc 包中未使用的类。
sun.misc.Sort 的当前用户可以使用 java.util.Arrays 的 sort()作为更好的替代方法。sun.misc.Compare 的用户则可以用 java.util.Comparator 作为替代。
顺便说一下,Java 8 新增了 JDK 命令行工具 jdeps。该工具有助于开发人员了解其应用程序和库的静态依赖。它还有助于确定非标准和内部 API 的使用情况,这是对 Java 编译器警告信息的一个补充。关于这个新工具的更多信息,读者可以阅读话题“提供了一个用于发现静态依赖的命令行工具”。
关于“为什么不应该使用sun.* 包”的更多信息,读者可以在Oracle 官方FAQ 上阅读该主题的相关条目。
查看英文原文:**** Removal of sun.misc.Sort and sun.misc.Compare in Java 8
评论