2)java程序有要从网络上加载类字节,然后执行,这也是导致java运行速度慢的原因. 5) java在运行过程中检测对象的引用是否为空,如果引用指向都空指针,且执行某个方法时会抛出空指针异常 10)java中采用的是动态链接 基本类型 3)在程序运行过程中,java虚拟机要检测数组是否越界,在c++中则不检测. 9)在java中string 是unicode.当java要操作一个 ascii string 时,比c++效率上相对要低一些. java较c++运行速度慢的原因: java中的基本类型基本上和c及c++中的一样(int、short、long、float、double和 char),但java添加了byte和boolean编程语言参考手册类型(近期的c++版本中也有了bool类型,对应于java中的boolean类 型)java中没有名为long double的类型与c和c++不同,在java中,用字节表示的某些特定基本类型值的大小是完全确定的,与实现无关细节请参见《java程序设计与 问题解决:基础篇》的第2章 4)java中所有的对象都创建在堆中,没有对象被创建在stack中,而c++有的对象和变量是创建在stack中的 6)java运行时对类型检测,如果类型不正确会抛出classcastexception异常. 字符串 1)java是解释性语言,java程序在运行时类加载器从类路经中加载相关的类,然后java虚拟机读取该类文件的字节,执行相应操作编程语言的版本区别.而c++编译的 时候将程序编译成本地机器码.一般来说java程序执行速度要比c++慢10-30倍.即使采用just-in-time compiling (读取类文件字节后,编译成本地机器码)技术,速度也要比c++慢好多. 以下内容摘自《java程序设计与问题解决:基础篇》附录 与c和c++的某些版本不同,java中的字符串不是特定类型的字符数组在java中有一个预定义的string类 型(对string类的讨论是从《java程序设计与问题解决:基础篇》的第2章开始的)java的string类与c++近期版本中的string 类有些类似 8) java中的原始数据类型在每个操作系统平台长度都是相同,而c++这些数据类型长编程语言环境配置是什么度是随操作系统的不同而不同,所以java在不同操作系统上执行时有个转化过程. 7)java的垃圾回收机制较c++由程序员管理内存效率更低. java和c++看起来很类似,但两者之间的差别要多于粗略地查看这两种语言时所认为的那样我们不会对所有的区别进行描述,但为了帮助从c++(或c)向java过渡,会对两者的一些相似及不同之处进行介绍白癜风该怎样治愈白癜风的药
|