听说JVM是用C++写的?为什么不用自己的语言JAVA写呢?

各位JAVA的大神们好!!我是学C++的,算是个二流选手。最近简单研究了一下JAVA和C++的区别。别跟我说谁好谁不好,我不想听这个,都有存在的价值……我想问一下:听说J... 各位JAVA的大神们好!!
我是学C++的,算是个二流选手。最近简单研究了一下JAVA和C++的区别。
别跟我说谁好谁不好,我不想听这个,都有存在的价值……
我想问一下:听说JVM是用C++写的?为什么不用自己的语言JAVA写呢?
展开
 我来答
Cachezz
2017-06-18 · TA获得超过691个赞
知道小有建树答主
回答量:274
采纳率:54%
帮助的人:45.5万
展开全部
c是运行速度最快的 而且最重要的是 可以控制硬件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿龙618
2020-02-27 · TA获得超过699个赞
知道小有建树答主
回答量:910
采纳率:63%
帮助的人:223万
展开全部
够呛 那谁能支撑这个虚拟机的虚拟机运行呢 我觉得可能有给java专门从底层适配一个指令集的处理器倒是可以 但是可能工程量太庞大了 没有人愿意揽这费力不讨好的事 况且还有好多某些公司 某些人的专利什么的阻挡
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小小磊并不小
2018-04-09
知道答主
回答量:4
采纳率:0%
帮助的人:2549
展开全部
是不是傻,这问题还用问。回答完毕
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
儒雅的阿大使
2018-04-01
知道答主
回答量:3
采纳率:0%
帮助的人:1.9万
展开全部
当然是因为做不到了,这是设计的层次不同,是计算机软件从底层向高层的趋势决定的,语言一层层封装,java变成C++,C++变成C,C变成汇编,汇编变成指令集,指令集变成二进制,如果jvm可以使用java写,那他得再实现一边C++的功能,既然有了C++,直接用就是了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友211658b42
推荐于2018-04-11 · TA获得超过3383个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:600万
展开全部
既然你学C++的,你应该知道C++有指针,是一种介于低级语言和高级语言之间的一种语言,C++可以操纵底层资源,和硬件关系相对较大。
学了Java也应该知道Java是一种面向对象的高级语言,它封装(或者说对开发者屏蔽)了指针,不能直接操纵硬件,源程序经过编译并不生成机器码,而是生成字节码这种中间代码,并且为了跨平台特性,字节码是不能直接在机器上运行的,需要有一个虚拟机(JVM)来解释执行。而不同平台底层肯定不一样,所以不同平台上的JVM是不一样的。JVM就负责把通用的字节码解释成对应平台的底层代码去执行。不难看出,要这么做,那么JVM的实现就必须和特定硬件资源平台密切相关,Java语言自己目前是做不到的。

从哲学角度说:
Java程序运行需要JVM的支持,如果JVM又是用Java语言写的,那么为了运行Java程序就要启动JVM,而启动JVM因为JVM本身又是个Java程序,那么又需要启动一个JVM,不就陷入一个永久的矛盾的悖论中去了么
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式