Java字节码是否与不同版本的Java兼容?
如果我使用Java 5代码将应用程序编译成字节码, 那么生成的.class文件是否能够在Java 1.4下运行?
如果后者可以工作,我正在尝试在我的Java 1.4应用程序中使用Java 5框架,那么我应该注意什么?
不可以。您只能向上移动 – Java 1.4字节码将适用于Java 5运行时。 但是,如果您没有使用Java 1.4中没有的任何function,则可以使用javac
的-target
和-source
选项进行javac
。
如果要使用Java 5编写可在Java 4上运行的应用程序,则不能使用Java 5之前不存在的任何function 。
不,他们不是。 .class文件只能向前兼容。
Java5框架意味着您的库可能正在使用与1.4环境不兼容的generics或注释。 您必须评估在1.5 JVM下运行1.4应用程序的风险,以便能够使用您需要的框架。
总的来说,我发现移动到1.5大部分都是无痛的,但需要进行勤奋的测试。