Java为什么永远比C,C++慢?

 我来答
一数一道
2018-02-02 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:212万
展开全部
  首先,java字节码的执行是通过jvm(java虚拟机)来执行的,而jvm基本上是用c语言实现的。这就相当于多了一个中间层,用c、c++编写的程序执行是(可执行文件--->机器),而用java编写的程序执行是(字节码--->jvm--->机器)。另外,jvm本身的一些机制如垃圾回收,类的查找与加载等也是有时间消耗。
  不过任何事情都是有两面性,java可能比c、c++慢,但是这个平台为我们屏蔽了很多机器和操作系统的差异性,我们编写java代码基本不用太多考虑机器和操作系统本身的东西。并且有很好的可移植性。比如你在Windows下写的java代码,基本上只需要做很少的修改就可以在Linux下运行了。
  最后说点题外话,那些说java可以比c、c++快的人应该都是java的死忠,我相信实现同样的功能有高手可以用java写的程序比很多人用c、c++写的程序要快,但是和同样水平的c、c++程序比,那么在程序性能上还是不会有优势的。而那些开口闭口就说java慢的像蜗牛的人估计也没有写过几行java代码,实现同样功能他用c、c++写的也未必有别人用java写的程序跑的快。
  所以,没有太多的必要比较语言的快慢,重要的是语言他适合用来做什么,存在的既是合理的,一种语言既然存在那么必然有他适用的地方,不然你可能没有听说过这门语言。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式