java与C语言跨平台原理

以最经典的HelloWorld.java程序为例,程序写完后保存为.java源文件,经过javac.exe编译为HelloWorld.class字节码文件。此时的字节码文件所有平台(windows、linux、xp等各种系统+CUP)的机器语言都不识别,需要JVM(java virtual machine,java虚拟机 )对HelloWorld.class字节码文件进行解释(java.exe是解释器),不同平台上安装的JVM不同,JVM是不跨平台的。因为要将字节码文件解释成不同的二进制指令。

所以,Java是一次编译,多处运行。java解释属于jvm的一部分。

java并不是可以跨所有的平台,因为有的操作系统,Oracle可能没有为其发布对应的JVM。

而C语言:以HelloWorld.c程序为例,不用的平台需要分别编译成当前操作系统可以识别的程序。java与C语言跨平台原理_第1张图片java与C语言跨平台原理_第2张图片

你可能感兴趣的:(java跨平台原理)