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