Java jdk,编译器,运行时目标。针对特定运行时的问题以及我可以使用哪些jdk/sdk

Java jdk,编译器,运行时目标。针对特定运行时的问题以及我可以使用哪些jdk/sdk,java,netbeans,compiler-construction,settings,version,Java,Netbeans,Compiler Construction,Settings,Version,我有可以使用的严格的编译和运行时版本,但我很难将其映射到项目属性的netbeans源代码/二进制格式选项。我希望使用jdk7进行开发,因为它的代码特性和支持非常好,字符串开关是一个完美的例子,但是项目运行时的环境要求它使用1.4.1或更高版本进行编译,运行时版本1.6.002不能高于此版本 有了这些信息,我相信只要netbeans在环境级别上使用jdk7,那么我就可以将项目级别上的源代码/二进制设置设置为JDK1.4,这样就可以了 这是一个正确的假设,还是我缺少一个基本概念?如果您的项目必须使

我有可以使用的严格的编译和运行时版本,但我很难将其映射到项目属性的netbeans源代码/二进制格式选项。我希望使用jdk7进行开发,因为它的代码特性和支持非常好,字符串开关是一个完美的例子,但是项目运行时的环境要求它使用1.4.1或更高版本进行编译,运行时版本1.6.002不能高于此版本

有了这些信息,我相信只要netbeans在环境级别上使用jdk7,那么我就可以将项目级别上的源代码/二进制设置设置为JDK1.4,这样就可以了


这是一个正确的假设,还是我缺少一个基本概念?

如果您的项目必须使用1.4.1版进行编译,则必须将源代码/二进制格式设置为1.4.1。此外,如果您的运行时平台只支持jdk1.6,您认为如何使用1.7功能?

我的问题是1.6和jdk 6之间的联系是什么?它们是相同的吗?是1.7JDK7吗?如果是,这是否意味着我必须在1.4.1中使用JDK4?另外,我的印象是,您可以使用不同的源代码进行编译,然后在一定的向后兼容性范围内使用目标运行时进行编译。比如1.6aka jdk,sdk 6?将jre定位到1.4的向后兼容级别?这些有什么意义吗?很明显,我忽略了两者之间的一种基本关系,但我找不到一个直接的答案来解释这种关系应该是什么。这似乎是我在大学里应该记住的隐含知识。是的,jdk 6指的是1.6等。也许你可以将netbeans中的源代码设置为1.6,并在1.4中运行,但这没有什么意义,你会使用不兼容的东西。