Date 20200524
Java 和 C++ 同爲面嚮對象語言,兩者的主要區別有哪些?
答:
Java 最開始是被設計用來支持網絡計算,它依賴一個虛擬機來保證安全和可移植性。
C++ 主要是用在系統性應用程序設計上的語言,對 C 語言進行了擴展。
二者主要區別有:
- C++ 是平臺相關的,Java 是平臺無關的。
- C++ 對所有數字類型有標準的範圍限制,但字節長度和具體實現相關,不同的操作系統可能不同。Java 在所有平臺上對所有的基本類型都有標準的範圍限制和字節長度。
- C++ 除了比較少見的情況外和 C 語言兼容。Java 沒有對任何之前的語言向前兼容。但在語法上受 C / C++ 的影響很大。
- C++ 允許直接調用本地的系統庫。 Java 要通過 JNI (Java Native Interface) 調用,或者 JNA (Java Native Access)。瞭解二者區別點我
Java 和 C++ 各有哪些優缺點?
兩者最主要的區別是代表了兩種類型的語言:
Java 是解釋型語言,即源代碼不直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行
缺點:執行速度慢、效率低
優點:依賴解釋器、跨平臺好
C++ 是編譯型語言,即先將源代碼編譯成機器語言,再由機器運行機器碼
優點:執行速度快、效率高
缺點:依賴編譯器、跨平臺性差些