JDK6 库 - 与 JDK7 的兼容性

Posted

技术标签:

【中文标题】JDK6 库 - 与 JDK7 的兼容性【英文标题】:JDK6 libraries - compatibility with JDK7 【发布时间】:2012-01-04 04:26:43 【问题描述】:

JDK7 是否向后兼容 JDK 6?具体来说,如果我有一些使用JDK6编译的jar,我可以在JDK7中开发时使用它们吗?

【问题讨论】:

【参考方案1】:

是的,您当然可以在当前开发中使用较旧的 .jar 文件和 .class 文件和较新的编译器 :)

【讨论】:

【参考方案2】:

您将能够使用以前的 JRE/JDK 中的类文件。支持兼容性转发。但是,您将无法倒退(例如 JDK7 到更早的 JRE/JDK)。 JDK7 的类文件格式已更改为反映 invokedynamic 等内容。

一些更深入的信息discussed here。

【讨论】:

【参考方案3】:

JDK7 是否向后兼容 JDK 6?

阅读 official document 了解 JDK 6 和 7 之间的不兼容性 查看this table 以独立分析 API 更改。 Jre 类在 6 和 7 版本之间的向后二进制和源代码兼容性估计为 95%:

...

报告由 japi-compliance-checker 工具生成。

【讨论】:

以上是关于JDK6 库 - 与 JDK7 的兼容性的主要内容,如果未能解决你的问题,请参考以下文章

tomcat与jdk兼容性的坑

JVM 常量池

JDK6和JDK7中String类下的substring方法的代码对比(仅贴代码,未详述)

JAVA 8 啥时候出

tomcat9和jdk1.7兼容吗

JavaScript 兼容性库