Java使用编译和解释的组合。 它将源代码编译为字节码,而不是直接转换为机器代码。 原因是机器代码取决于系统具有的处理器类型。因此,生成的机器代码将特定于特定系统,因此不可移植。
因此JVM可以在不同的机器上识别字节码。我的问题是这个。由于JVM将字节码转换为主机的机器码。并且因为有不同类型的主机。是否有不同的JVM与不同的机器类型相对应?
答案 0 :(得分:2)
由于JVM必须在目标系统上运行,因此必须(最终)将JVM本身写入适当的机器代码中。
答案 1 :(得分:2)
是的,这是正确的。 JVM需要了解运行它的主机的机器体系结构的要求。这就是为什么download page上有这么多版本的原因。
答案 2 :(得分:2)
是的,这就是您需要在Oracle网站上为您的平台(操作系统和体系结构)选择捆绑包的原因,例如:http://www.oracle.com/technetwork/java/javase/downloads/jre-6u25-download-346243.html
(这同样适用于其他JVM。)