Java比C++
好在:
1.Java比C,C++简单,学起来比C\C++容易
2.Java完全对象化,比如数组在Java中是一个对象,含有length这个属性;而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全,但牺牲了速度。同时因为Java中所有类都会继承Object这个基类,所以可以把几个好不相干的类用基类联系起来,比如放在同一个数组里。
3.Java中没有指针这样不安全(虽然指针速度快)的概念。
4.Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢出的可能,同时提高编程效率。
5.Java中有完善的异常机制(标准C++中不够完善)。
6.java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接。这个设计更合理。
由以上几点可见Java更安全。
8.Java标准库完整的多,相比之下C++除了一个STL(而且还超级难用)就没了,实际C++编程中需要大量使用第3方库。这很大程度上是因为Java有一些商业公司支持,更新速度快,而C++只有一个可怜的标准委员会,上一个C++标准版本还是C++98
9. Java因为是把程序编译为字节码,运行时需要JVM把字节码再翻译为机器码,所以他跨平台,一次编译到处运行。但这也是他慢的根本原因。
10.Java原生支持多线程(C++仅靠标准库办不到),原生的UI,如AWT Swing
不好在:
1.Java比C\C++慢。Java 1.0 比C慢20倍 现在的Java 1.6运行速度也只是C的一半。
2. C++在继承和派生上比Java更灵活
3. C++ 中可以直接插入汇编 能直接操控底层硬件 所以操作系统还是得用c写
4. Java办的到C++一定办得到,C++办得到的Java则不一定。
5. Sun被甲骨文收购了之后,Java的发展很受影响。
6. C++编译的程序可以直接运行,Java需要安装JRE有几十MB,影响产品发布的用户体验。
最后插一句,Java的一部分优势会随着C++0x的发布有所减弱。
<wbr>【1】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014rwm.html" target="_blank"> 海量Android教程、开发资料和源码</a><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
【2】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014rwo.html" target="_blank"> 海量Linux学习教程和开发资料</a><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
【3】<wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014u04.html" target="_blank"> 海量C、C++、MFC和VC++教程、源码和开发资料</a></wbr></wbr></wbr>
【4】<wbr><wbr><wbr><wbr><wbr><wbr><span><strong><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank">海量Java教程、开发资料和源</a><span><strong><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank">码</a><a href="http://blog.sina.com.cn/s/blog_a752817501014vty.html" target="_blank"></a></strong></span><span><img title="此博文包含投票" height="15" alt="海量IT开发资料下载导航" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" width="15" align="absMiddle"></span></strong></span></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span><a title="我5年程序员人生的点点滴滴" href="http://blog.sina.com.cn/s/blog_a752817501014rzq.html" target="_blank">我5年程序员人生的点点滴滴</a></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><a href="http://blog.sina.com.cn/s/blog_a752817501014mgn.html" target="_blank"><span style="font-size:16px">老程序员的忠告:不要做浮躁的软件工程师</span></a><span style="font-size:16px"></span></wbr></wbr></wbr></wbr></wbr></wbr>
成为Java高手的25个学习目标--非常经典<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><p></p> <p></p> <p></p> </wbr></wbr></wbr></wbr></wbr>