计算机的执行机制有两种。
第1种编译执行:1,将源文件编译成平台相关的机器码文件(即二进制)一次编译多次执行。 2,执行效率高,不可跨平台。
源文件用的是人类的语言,计算机无法读懂,我们需要通过一次的编译,把它翻译成平台相关的机器码文件(平台相关性,指的是在什么系统下编译后的文件,只能在该操作系统下运行,无法转到其他的操作系统下运行,想要运行只能在其他平台下,将源文件进行编译),这个文件在计算机中执行的效率是非常的高,也就是说执行效率高之后就会失去跨平台性。
第2种执行机制是解释执行:1,将原文件交给不同的平台独有的解释器。2,执行效率低,但是可以跨平台。
对于一门编程语言,会给不同的操作系统分别提供一个不同的能解析执行这门语言的解释器,将语言文件直接交给不同的解释器运行,那么不同解释器就需要将原文件进行一行一行的翻译变成二进制,再交给操作系统运行,好处是,不同的平台都有了解析运行这门语言的解释器,就具有了跨平台性。不好的地方是,不管是谁拿到了源文件,都需要自己翻译,翻译完了再运行,意味着同一个源文件,交给同一个平台时,实质上它还需要每次的翻译,每次的运行,对比编译执行来说,效率就会差一些。
下一期我们会来介绍Java的执行机制,希望对各位亲有帮助。



