java是解释型语言为什么比编译型语言会有优势?

java是解释型语言,需要为每个运行java的平台上编写java虚拟机,能跨平台。而编译型语言为什么不能为多个平台编写多个编译器?这样不也能跨平台了?难道编写java虚拟... java是解释型语言,需要为每个运行java的平台上编写java虚拟机,能跨平台。而编译型语言为什么不能为多个平台编写多个编译器?这样不也能跨平台了?难道编写java虚拟机比编写编译器容易吗? 展开
 我来答
一数一道
推荐于2016-01-07 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:212万
展开全部
  首先,java的优势主要在他本身提供了一个平台,屏蔽了很多底层的机器和操作系统的差异性,让我们编写的代码具有很好的可移植性。例如你在Windows写的java程序,基本上做很少的修改就能在Linux上运行,甚至你重来都没有考虑过兼容性的问题,你都能做到这一点。
  第二,就是java提供了一些机制,如垃圾回收机制可以让我们少考虑内存回收的问题,减轻了我们的负担。
  当然,有利就有弊,java付出的代价就是相比于c、c++的性能上可能要弱一些。例如:同样水平的程序员实现同样的功能用java编写会比有c、c++的性能可能有差一些。
_JKS_
推荐于2016-07-23 · TA获得超过827个赞
知道答主
回答量:82
采纳率:0%
帮助的人:29.1万
展开全部
解释型语言,同样的源代码,在不同平台上,其解释器是不同的,因为不同系统上,在运行时提供的浏览器,是不同的,运行结果略有差异。
编译型语言,经过编译之后,生成了二进制程序,这个程序本身是很难跨平台的,要想跨越不同的机器就更难,比如Intel CPU可以辨别的指令,PS游戏机里的芯片就不能识别。
追问
谢谢您的回答,我想问一下,在ide中为ps游戏机的芯片编一个编译器不就行了吗?效果不是跟为ps游戏机平台开发解释器一样吗?
追答
具体我也不太清楚了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_HH
2011-11-07
知道答主
回答量:28
采纳率:0%
帮助的人:12.6万
展开全部
java不是因为这样跨平台的,它是生成一个中间代码,这个代码与操作系统无关,所以才能跨平台
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenvsmuzi
2011-11-07
知道答主
回答量:9
采纳率:0%
帮助的人:1.1万
展开全部
不能跨平台指的是经过编译后生成的文件不能跨平台,而不是语言本身
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leilind
2011-11-07 · TA获得超过140个赞
知道答主
回答量:141
采纳率:0%
帮助的人:58.6万
展开全部
不能跨平台指的是经过编译后生成的文件不能跨平台,而不是语言本身。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式