求教大神,经常听说java是解释性语言,和c这样的编译性语言不同,有什么不同,最后还不都是二进制代码?

究竟有什么不同?... 究竟有什么不同? 展开
 我来答
百度网友dd2a4ae
2013-06-15 · TA获得超过1.6万个赞
知道大有可为答主
回答量:2628
采纳率:11%
帮助的人:1672万
展开全部
没错,JAVA是一种解释性语言。也就是说,编译处理后的JAVA程序并不是由能被CPU直接识别运行的机器指令构成,而是一种二进制的通用伪代码。
要运行这种由伪代码构成的程序,必须要有JAVA虚拟机JVM。
运行时,从程序中取一条伪指令,在JVM中翻译成一串机器指令,运行。再取一条指令,再翻译,再运行……

使用JVM的缺点,是它的程序运行效率低,速度慢。
使用JVM的优点,就是不同的计算机硬件和不同的操作系统,只要配上对应的JVM,都可以运行同一个JAVA程序。因而JAVA程序的通用性好,用JAVA开发软件的人工效率较高。

JAVA一般用来开发那些对通用性要求高而对运行效率要求不很苛刻的应用程序。

C语言和C++等编译语言的程序,是直接由CPU运行的机器指令,运行时不再需要二次翻译,所以运行时能最大限度地发挥CPU的效能,运行速度很快。但在不同的硬件或操作系统平台上,程序需要按平台重新编译,甚至修改或重写代码。它的程序缺乏跨平台的通用性,开发软件的人力投入较大。
对运行速度有很高要求的软件 ,如操作系统,大型游戏的核心引擎,和大多数有较高的运行速度效率要求的应用软件,多用C++这类编译性语言开发。
百度网友75967b7
2013-06-15 · TA获得超过1229个赞
知道小有建树答主
回答量:467
采纳率:100%
帮助的人:541万
展开全部
我不知道你的二进制代码是个什么东西,你到底是依照什么标准划分的。
那么我只能按照理论讲了:
首先本地语言,是通过编译器编译,连接器连接之后形成本地可执行程序,俗称PE文件的。他是可执行的二进制机器指令序列。
而解释性语言,是通过字节指令编译器编译,之后运行于虚拟机的字节指令集,有的是文本数据,有的是二进制原始数据流,其指令不是机器指令,而是虚拟机指令,其运行过程就是通过虚拟机解析文件中的指令,并翻译成机器指令。一般而言解释性语言的效率要比本地语言低10倍甚至更高。最快的解释性语言是lua。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x369201170
2013-06-15 · TA获得超过426个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:366万
展开全部
java跟c应该是。java是面向对象的语言,而c是面向过程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天堂JOJAY
2013-06-15 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:26.8万
展开全部
楼上正解 一个是面向对象 一个是面向过程 不过这是笼统的解释 想了解具体的区别 去百度百科查查吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式