Java跨平台原理

CPU:中央处理器,它既负责思维运算,又负责身体各部件的命令控制。指令集就是CPU中用来计算和控制计算机系统的一套指令的集合。指令集又分为精简指令集(RISC)与复杂指令集(CISC),每种CPU都有其特定的指令集。

操作系统:操作系统是充当用户和计算机之间交互的界面软件,不同的操作系统支持不同的CPU,严格意义上说是不同的操作系统支持不同CPU的指令集。

平台=CPU+OS

使用特定编译器编译的程序只能在对应的平台运行,这里也可以说编译器是与平台相关的,编译后的文件也是与平台相关的,我们说的语言跨平台是编译后的文件跨平台,而不是源程序跨平台,如果是源程序,任何一门语言都是跨平台的语言了。

Java跨平台原理图



Java是解释执行的,编译为中间码的编译器与平台无关,编译生成的中间码也与平台无关(一次编译,到处运行),中间码再由解释其解释执行,解释器是与平台相关的,也就是不同的平台需要不同的解释器。

同一个.class文件在不同的虚拟机会得到不同的机器指令,但是最终执行结果却是相同的。

猜你喜欢

转载自smilpar.iteye.com/blog/2217589