相同代码为什么java运行时间比c++要长?
Posted littleswan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相同代码为什么java运行时间比c++要长?相关的知识,希望对你有一定的参考价值。
2)java程序有要从网络上加载类字节,然后执行,这也是导致java运行速度慢的原因.
3)在程序运行过程中,java虚拟机要检测数组是否越界,在C++中则不检测.
在这提供一片博文链接:https://blog.csdn.net/ive_lanco/article/details/81094484
4)java中所有的对象都创建在堆中,没有对象被创建在stack中,而C++有的对象和变量是创建在stack中的
在这提供一篇博文链接:https://blog.csdn.net/rickiyeat/article/details/76802085
这篇博文,我们可以鉴赏性的观看,但是如果我们的资历足够的深厚,那么我们可以进行一些讲解
欢迎在我的博文的下方进行留言。
5) java在运行过程中检测对象的引用是否为空,如果引用指向都空指针,且执行某个方法时会抛出空指针异常
6)java运行时对类型检测,如果类型不正确会抛出ClassCastException异常.
7)java的垃圾回收机制较C++由程序员管理内存效率更低.
8) java中的原始数据类型在每个操作系统平台长度都是相同,而C++这些数据类型长度是随操作系统的不同而不同,所以java在不同操作系统上执行时有个转化过程.
9)在java中String 是UNICODE.当java要操作一个 ASCII string 时,比C++效率上相对要低一些.
10)java中采用的是动态链接
11)jvm本身的一些机制如垃圾回收,类的查找与加载等也是有时间消耗。
不过任何事情都是有两面性,java可能比c、c++慢,但是这个平台为我们屏蔽了很多机器和操作系统的差异性,我们编写java代码基本不用太多考虑机器和操作系统本身的东西。并且有很好的可移植性。比如你在Windows下写的java代码,基本上只需要做很少的修改就可以在Linux下运行了。
以上是关于相同代码为什么java运行时间比c++要长?的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012 远程操作花费的时间比预期的要长