JAva和C++语言的区别在哪方面?
区别在哪
追问:你知道这两个最深的区别吗
区别在哪
追问:你知道这两个最深的区别吗
答案:1。面向对象没有java彻底。
由于C++要兼容C的内容,而C是面向过程的,所以C++不可避免地出现过程影子,并不算是完全的面向对象的程序设计语言。例如总得要有main或winmain之类的过程吧。
2。C++的移植能力没有java好。
由于C++的事实标准的存在,即各个编译器总存在差异,所以或多或少存
在不兼容。而且各个软件平台的C++启动代码和硬件指令不同,编译后的C++程序一般是不能跨平台的。而java从娘胎里出来就是为了跨平台执行的,不采
用二进制机器码作为最终代码,所以在移植方面较好。
3。C++的指针操作使得它不安全。
java没有指针,而C++的指针越界或野指针是造成弄脏内存的重要原因。
但是事情总得一分为二,C++的指针也是其效率大大超过java的原因之一。
3。C++可以直接操作硬件,带来了不安全。
java不提供硬件操作,而C++兼容C,使得它继承了其硬件操作功能,
是祸是福,各有说词。有人说它带来了不安全,也有人说它是所向披靡
的屠龙之器。
4。C++的动态对象必须及时销毁,否则可能会造成内存泄漏,而java免除了这个麻烦
java用垃圾收集器清楚不用的对象,而C++没有相关机制,使得上下
文终对象的建立和销毁不成对,就会造成内存泄漏。
5。C++的在网站建设方面不如java“强”
因为C++应该没有java在项目开发上来得快捷。之所以加引号,是因为
开发HTTP/1.0
java通常显得更健壮。
对象句柄一定初始化为null
句柄会得到检查,出错则抛弃异常
数组会检查界限
提供多线程等我想最大的一个区别就是内存管理方面。
C++内容管理是强悍的,指针等都被保留,可以快速的操作到要的对象,性能是比较高的。遗憾的是对内存的操作带来了找不到数据的错误。由于高性能,它一般被用开发C/S,游戏等软件。
java可以说是让程序员尽量减少对内存的注意力,集中使用面向对象编程,OO强了,不过性能跟c++比还是差了点,不过强大的JVM提供了很多好处,比如移植性,垃圾回收器等。适用于开发不要求性能的软件。
这个区别就大了
语法都不一样
但是只要你的算法学的好的话
学哪个都不吃力
JAVA解决了C++中的不足:多重继承,允许访问内存,可移植性差等
JAVA相比C++而言有待提高:学习进阶周期长,桌面程序GUI开发效率不高
上一个:学习编程C++的问题
下一个:如何学好C++语言呢?