JAVA语言可以在所有平台上运行吗?
Q:JAVA语音具有一次编译,到处运行的特点,可以在所有平台上运行吗?
A:错误。
分析:这里的“到处”的前提是“装有JVM”。Java语言在所有平台上运行是因为JVM实现了跨平台。程序从源代码到运行的三个必经阶段:编码——编译——运行。这个过程包含了两次编译:
第一次:Java源代码——.class文件字节码,是java的第一次编译。生成的这个.class文件就是可以到处运行的文件。
第二次:.class文件字节码——到目标机器代码。执行是由JVM执行引擎来完成,这是JAVA的第二次编译
由上图,我们可以看到第二次编译是在JVM中执行的,也就是在任何一个装有“JVM”的操作系统中完成的。
并不是说Java语言可以跨平台,而是在不同的平台都有可以有Java语言运行的环境而已,所以才有了Java一次编译,到处运行这样的效果。到处运行”的关键和前提就是JVM。