Java跨平台与C语言跨平台对比
Java跨平台原理的解释
JVM(Java Virtual Machine)就是一个虚拟的用于执行 bytecode 字节码的”虚拟计算机”。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。JVM 负责将 Java 字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。
不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。 Java 虚拟机是实现跨平台的核心机制。
如图所示:
C语言跨平台原理解释
总结
我们说的语言跨平台是编译后的文件跨平台,而不是源程序跨平台。
两种方式的差异:
第一,C 语言是编译执行的,编译器与平台相关,编译生成的可执行文件与平台相关;
第二,Java 是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释器解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器。