java运行速度慢的原因
1)java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作.而C++编译的时候将程序编译成本地机器码.一般来说java程序执行速度要比C++慢10-30倍.即使采用just-in-time compiling (读取类文件字节后,编译成本地机器码)技术,速度也要比C++慢好多. 2)java程序有要从网络上加载类
·
1)java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作.而C++编译的时候将程序编译成本地机器码.一般来说java程序执行速度要比C++慢10-30倍.即使采用just-in-time compiling (读取类文件字节后,编译成本地机器码)技术,速度也要比C++慢好多.
2)java程序有要从网络上加载类字节,然后执行,这也是导致java运行速度慢的原因.
3)在程序运行过程中,java虚拟机要检测数组是否越界,在C++中则不检测.
4)java中所有的对象都创建在堆中,没有对象被创建在stack中,而C++有的对象和变量是创建在stack中的
5) java在运行过程中检测对象的引用是否为空,如果引用指向都空指针,且执行某个方法时会抛出空指针异常
6)java运行时对类型检测,如果类型不正确会抛出ClassCastException异常.
7)java的垃圾回收机制较C++由程序员管理内存效率更低.
8) java中的原始数据类型在每个操作系统平台长度都是相同,而C++这些数据类型长度是随操作系统的不同而不同,所以java在不同操作系统上执行时有个转化过程.
9)在java中String 是UNICODE.当java要操作一个 ASCII string 时,比C++效率上相对要低一些.
10)java中采用的是动态链接
更多推荐
已为社区贡献6条内容
所有评论(0)