赞
踩
JAVA和C++ 都是面向对象的语言,java属于解释型语言,C++属于编译型语言。
C++是编译型语言(会将源代码编译生成机器码,再由机器运行机器码)
特点:
1.执行速度快,效率高
2.依赖编译器,跨平台性差一点
JAVA 是解释型语言(源代码不是直接编译成机器语言,而是先编译成中间代码,再由解释器对中间代码进行解释运行)
特点:
1.执行速度慢,效率低
2.依赖解释器,跨平台性好
也有人说java 是半编译,半解释型语言,java 编译器(javac)先将java源码编译成java字节(.class)
再由JVM负责执行字节码文件
JAVA | C++ | |
跨平台 | 平台无关 | 平台有关 |
内存管理 | 自动 | 手动 |
参数传递方式 | 值传递 | 引用,指针.值传递 |
多重继承 | 不支持 | 支持 |
系统资源的控制能力 | 弱 | 强 |
适合领域 | 企业级web应用开发 | 系统编程,游戏开发等 |
1.C++ 是平台相关的,java是平台无关的
2.java 是自动内存管理和垃圾回收的, C++需要手动管理内存,支持析构函数,java没有析构函数的概念.
3.C++支持指针,引用,值传递。java只有值传递
4.C++支持多重继承,包括虚拟继承。java只允许单继承,需要多继承的情况要使用接口
5.JAVA的优点是跨平台能力强,支持自动内存管理减少内存泄漏的风险。有大量的库和框架支持,并且还有较强的社区支持和资源。
java的缺点是性能不如C++,对系统资源的控制能力较弱
C++的优点是性能搞,控制能力强。可以直接操作内存和硬件的能力。适用于系统编程,游戏开发,实时系统。同时也有丰富的库和工具,特别是在图形和游戏领域.
C++的缺点是内存管理复杂,容易出错。跨平台开发困难。代码会比较复杂。学习比较难。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。