【其他】编译型语言,解释型语言,傻傻分不清,JIT又是啥?

高级编程语言,按照程序的执行方式分为两种,一种是编译型语言,一种是解释型语言。

编译型语言

编译型语言会通过编译器,将源代码一次性翻译成机器码然后执行,一般编译型语言的执行速度比较,常见的编译型语言有C,C++等。

解释型语言

解释型语言会通过解释器,一句一句的将源代码,解释为机器码并执行,一般解释型语言开发效率比较,常见的解释型语言有Python,JavaScript等。

可以发现无论是编译型语言,还是解释型语言,都是将源代码编译为机器码才能执行。其区别是在于一个是执行前先行编译,一个是在执行期动态解释,那为什么一定得翻译成机器码才能执行呢?

因为计算机只能直接识别和执行特定的指令集,这些指令集就是机器码,源代码本质上只是一些文本,只有翻译成机器码,才算是一个指令或者程序,为了结合两种类型的优点,发展出了即时编译(JIT)让编译与解释并存,他像编译型语言一样,先把源代码编译成字节码,到执行期间再将字节码直译,然后执行。

猜你喜欢

转载自blog.csdn.net/weixin_43918614/article/details/123976096