与C和C++相比较,Java有什么优缺点?

优点

1.简单易学:Java比C/C++简单,学起来比C/C++容易;

2.面向对象:Java完全对象化,比如数组在Java中是一个对象,含有length这个属性,而不像C++中数组是一个指针,所以访问数组,Java会进行边界检查,更加安全,但是牺牲了速度。同时因为Java中所有类都会继承Object这个基类,所以可以把几个不相干的类用基类联系起来,比如放在同一个数组中;

3.安全性:Java中没有指针这样不安全(虽然指针速度很快)的概念;

4.内存管理机制:Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢出问题,同时提高编程效率;

5.异常处理:Java中有完善的异常处理机制(标准C++中不够完善);

6.保存数据:Java中保存数据时对象本身是在堆里,同时靠在栈里的句柄与之连接,这个设计更合理;

7.标准库完善:Java标准库完整,相比之下C++除了一个STL就没了,实际C++编程中需要大量使用第3方库。这很大程度上是因为Java有一些商业公司支持,更新速度快,而C++只有一个可怜的标准委员会,上一个C++标准 版本还是C++98

8.跨平台性:Java因为是把程序编译为字节码,运行时需要JVM把字节码再翻译为机器码,所以他跨平台,一次编译到处运行,但这也是他慢的根本原因。

9.多线程:Java原生支持多线程(C++仅靠标准库办不到),原生的UI,如AWT Swing。

缺点

1.运行速度:Java比C/C++慢,Java1.0比C慢20倍,现在的Java1.6运行速度也只是C的一半;

2.对底层的支持:C++中可以直接插入汇编能直接操控底层的硬件,所以操作系统还是用C写;

3.适用范围:Java办到的C++一定办得到,而C++办得到的Java则不一定;

4.发展:Sun被甲骨文收购之后,Java的发展很受影响;

5.用户体验:C++编译的程序可以直接运行,Java需要安装JRE有几十MB,影响产品发布后的用户体验。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值