一、编译型
-
编译型语言经过编译器转成可执行程序后,可执行程序里面包含的就是机器码。只要拥有可执行程序,就可以随时运行,不用再重新编译了,即一次编译,无限次运行。
-
运行可执行程序时,不再需要源代码和编译器,因此编译型语言可以脱离开发环境运行。
-
编译型语言一般不能跨平台,即不能在不同的操作系统之间随意切换。
二、解释型
-
解释型语言,每次执行程序都需要一边转换一边执行。
-
因为每次执行程序都需要重新转换源代码,所以无法脱离开发环境,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。
-
解释型语言 能跨平台,即实现“一次编写,到处运行”
其实归根结底,打个比方,如果a是一个中国人,b是一个美国人,a写了一本书想让b读懂,可以有两种方式:
-
a整本书全部翻译出来,把这个翻译的东西整体丢给b,这个方式类似于编译型
-
a找一个翻译官,a每写一段内容都让这个翻译官翻译给b,这个方式类似于解释型
三、Java的运行机制
其实左半部分就是我们之前写过的javac的这个动作,把java文件通过编译生成class文件的动作。而右半部分就是我们所写过的java的动作。
四、分享
如果有宝子想要深入了解编译型和解释型以及扩充一些知识,可以点击查看优质文章: