“IntelliJ-Java编译器选项”中的“项目字节码版本”是什么?

2lpgd968  于 2022-10-07  发布在  Java
关注(0)|答案(1)|浏览(750)

我可以在Project Structure - SDK上选择JDK版本,这意味着我的Java代码将使用我选择的JDK进行编译。
如果我选择JDK 1.8,我的代码将使用JDK 1.8编译。

在这种情况下,我无法理解Setting - Build, Execution, Deployment - Java compiler - project bytecode version选项。
如果我选择的此选项的版本不同于Project Structure - SDK,会发生什么情况?

x8diyxa7

x8diyxa71#

字节码版本表示生成的类文件的版本。

通常,JDK N可以生成或加载任何版本低于或等于N的类文件。例如,JDK 11可以将源文件编译为字节码版本11或10或9或8的类文件,运行时可以加载版本低于或等于11的类文件,但不能加载版本12的类文件。

相关问题