编译java 6而不是java 7的任何缺点?

时间:2014-02-14 14:28:04

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

其余的,根本没有实际的区别。几乎所有优化都在运行时由JVM和JIT完成; Java编译器几乎没有优化。

答案 1 :(得分:0)

如果您不使用Java 7中的任何新API,我认为没有任何不同。我不是100%肯定这一点,我认为如果您的程序是使用Java 6编译的,它仍然会受益于Java 7 VM上运行的人员的速度提升。