歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java編程程序比C++的優劣分析

Java編程程序比C++的優劣分析

日期:2017/3/1 10:18:17   编辑:Linux編程

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的發布有所減弱。

Copyright © Linux教程網 All Rights Reserved