Java字节码是否与不同版本的Java兼容?

Jam*_*hon 3 java compatibility jvm bytecode java1.4

如果我使用Java 5代码将应用程序编译为字节码,那么生成的.class文件是否能够在Java 1.4下运行?

如果后者可以工作,我正在尝试在我的Java 1.4应用程序中使用Java 5框架,那么我应该注意什么?

not*_*oop 6

不! .class文件只能向前兼容.Java 5引入了新的类文件属性和格式更改,以处理Varargs,枚举和泛型.Java 4在处理这些时会失败.

但是,javac上有不受支持的-target jsr14选项,它为某些Java 5语言功能生成了与JDK 1.4兼容的字节码.

此外,还有一些项目(例如Retroweaver,Retrotranslator)将Java 5类文件转换为Java 4文件.

编辑:我找到了这个很好的资源:在早期的JDK中使用Java 5语言功能