ITPub博客

首页 > Linux操作系统 > Linux操作系统 > JAVA与C++的差异【总体性】

JAVA与C++的差异【总体性】

原创 Linux操作系统 作者:xinglongjian 时间:2010-01-16 17:04:55 0 删除 编辑

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
句柄会得到检查,出错则抛弃异常
数组会检查界限
提供多线程等

6。C++内容管理是强悍的,指针等都被保留,可以快速的操作到要的对象,性能是比较高的。遗憾的是对内存的操作带来了找不到数据的错误。由于高性能,它一般被用开发C/S,游戏等软件。java可以说是让程序员尽量减少对内存的注意力,集中使用面向对象编程,OO强了,不过性能跟c++比还是差了点,不过强大的JVM提供了很多好处,比如移植性,垃圾回收器等。适用于开发不要求性能的软件。

7C++适合做图形图像:3D游戏;多媒体:流媒体播放器;UI:用户界面;嵌入式大部分都是C和C++写的。而java多半与网络和数据库有关,比如说网站后台,手机平台等等

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7464531/viewspace-625278/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-09-25

  • 博文量
    7
  • 访问量
    19756