首页 > 其他 > 详细

编译器和解释器

时间:2017-09-24 12:16:58      阅读:271      评论:0      收藏:0      [点我收藏+]

先盗一张图:

技术分享

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一般来说,编译器是运行前将代码编译成二进制文件,其包含的是可直接执行的机器指令;解释器则是运行时,一条一条将代码解释成平台可执行的机器指令。看上去是编译器比解释器快,是因为执行的是已经编译好的机器指令,而解释器每次运行的都会解释执行。实质上,编译器编译代码时间加上执行时间要比解释器多。

JAVA严格来说是半编译半解释的语言。

技术分享

如上图所示,java是先编译成字节码(非纯二进制代码),即由.java文件编译成.class文件,再由JVM解释器解释执行。

现在解释两个问题:

1、为什么JAVA执行相对比较快?

那是JVM解释的是编译后的字节码,这比直接解释源码要快。

2、为什么JAVA可以跨平台?

首先,编译器执行后的程序所有情况下都可以直接运行的,还要看平台的系统,不同系统执行不同的编译版本。

而JVM可以跨平台安装,其解释执行的阶段把.class文件中的字节码解释成对应平台可执行的机器指令,所以java代码可以做到跨平台执行。

编译器和解释器

原文:http://www.cnblogs.com/ustcwx/p/7586731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!