当前位置:首页 > 虚拟机 > 正文

java虚拟机与跨平台运行原理


一、java到底是怎么样实现跨平台的。高级计算机语言主要有两种类型:编译型和解释型。Java是这两种类型的集合。在Java中,源文件的后缀是*.java,因此通过编译生成一个*·class文件,最后由Java自己设计。它运行在计算机上,即虚拟机(JVM)上。JVM是由计算机上的软件或硬件模拟的计算机。所有*.class文件都在JVM上运行,即只需识别*.class文件,JVM就会适应每个操作系统。如果多个操作系统都安装了与其类型相匹配的JVM,则程序无论在哪个操作系统上都可以正确运行。至于其他语言没有JVM的说法,显然无法跨平台。
二、JAVA语言为什么能跨平台?因为Java程序编译背后的代码并不是硬件系统可以直接执行的代码,而是一种“中间代码”——字节码。然后,不同的Java虚拟机(JVM)被安装在不同的硬件平台上,JVM将字节码“翻译”成可以由各自的硬件平台执行的代码。因此,对于Java程序员来说,不需要考虑硬件平台是什么。所以Java可以跨平台。
C/C++之所以不能跨平台,是因为编译后的代码可以在特定硬件上直接执行,但这些代码不能在另一个硬件平台上执行。但正是因为可以直接执行,所以C/C++程序的执行效率比Java程序要高。