java - 为 java 6 而不是 java 7 编译有什么缺点吗?

标签 java java-7 backwards-compatibility java-6

如果我用我的 java7 jdk 编译,我得到一个 jar,它在 java7 上运行良好,但显然无法在 java6 上加载。如果我用我的 java7 jdk 编译但指定输出与 java6 兼容,它在 java6 jre 和 java7 jre 上运行良好。

我的问题是,对于在 java7 jre 中运行,第一个 jar 是否比第二个“更好”(更快、更高效、更优化)? java7 jre 的用户使用第二个 jre 有什么缺点,或者这个第二个 jar 是否足以让每个人都使用?

我的理由是,我希望为 java7 用户提供尽可能好的结果,但我需要一些可以在 java6 上运行的东西。那么我需要提供两个 jar 还是只提供 java6 一个?

最佳答案

显然,如果您在 Java 6 上编译和运行您的代码,则您不能使用已添加到 Java 7 中的 Java 标准库中的类,因为这些类不会出现在 Java 6 上。

对于其余部分,根本没有实际区别。几乎所有优化都是在运行时由 JVM 和 JIT 完成的; Java 编译器几乎不做任何优化。

关于java - 为 java 6 而不是 java 7 编译有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21781965/

相关文章:

backwards-compatibility - JDK6 库 - 与 JDK7 的兼容性

java - 锁可以自动关闭吗?

java - Thrift 版本之间的数据格式兼容性

java - 在非root用户下启动tomcat 9

java - 从 ArrayList 返回项目

java - 带 UiBinder 的 GWT LazyPanel

java - Java 中用于大容量数据 API 开发的最佳 Restful WebService?

java - Java版本之间的不兼容性

iphone - 我可以在 iOS 4 之前的设备上使用 Core Motion 框架吗?

android - Circular Reveal Android Compat With Design Library 28