歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java語言對比C++語言的幾個優點和自身的關鍵特性

  之所以寫這篇文章不是為了比較JAVA語言和C++語言到底孰優孰劣,而是從語言本身出發進行對比總結程序編碼設計上的差別。因水平有限,某些內容可能太過片面,歡迎指正和討論。

  JAVA語言在設計上很好地借鑒了C++語言,是一種完全“面向對象”的編程語言。JAVA語言的語法與C++語言的結構語法非常相似,這使得C++程序猿學習JAVA變得非常容易。

  JAVA語言的最大優點就是“Wirte Once,Run Everywhere”,就是“一次編寫,到處運行”的意思。JAVA語言相對C++來說,增加了一些新的特性:1)提供了GC,對內存進行自動管理,程序猿無需再程序中進行分配、釋放內存,一般來說不用再擔心內存分配錯誤;2)不再使用指針,而是采用其他的方法來彌補;3)與C++相比,JAVA取消了多重繼承這個類特性,使得類的繼承變得簡潔;4)避免了賦值語句和邏輯語句的混淆,同時取消了其他值與布爾值之間的自動轉換,這一點有效地降低了某些運行時錯誤。

  關於JAVA語言的關鍵特性方面,這也是面試過程中容易問到的題,它從宏觀方面說明了你對這一門編程語言的理解。JAVA語言是一門非常優秀的編程語言,具有很多有效的特性,最主要的有以下幾個。

  簡潔有效。JAVA語言是一門簡潔的“面向對象”的語言,相比C++而言來說更加嚴謹簡潔,它沒有C++語言中所有的難以理解的、容易混淆的特性,例如指針、結構、運算符重載、虛擬基礎類等。

  面向對象。JAVA語言一門完全面向對象的語言,不支持類似C語言那樣的面向過程的程序設計技術,這也是JAVA語言最重要的語言特性。JAVA語言將數據和對數據的操作都封裝在一個類中,並提供類,接口和繼承,JAVA類(class)僅支持單繼承(C++支持多繼承),接口(interface)支持多繼承,類與接口之間有實現(implements)機制。JAVA在面向對象上類似於SmallTalk,但從其他方面來說優於SmallTalk。

  可移植性。JAVA應用程序可以在配備了JAVA解析器和運行環境的任何計算機系統上運行,這使得JAVA應用有了便於移植的良好基礎。

  解釋型。JAVA語言是一門解釋型語言,相對C/C++來說,JAVA程序執行效率低,速度慢,但是正是因為JAVA通過在不同的平台上運行JAVA解釋器,對JAVA代碼進行解釋,從而實現了“Wirte Once,Run Everywhere”的跨平台目標。有捨有得啊,另一面來說,隨著機器性能的提高,解釋技術的改進(像即時編譯,just in time),用戶或許不會在乎這種性能上的差異。

  適合分布式計算。Java是一種適合於網絡應用程序開發的語言,用Java語言編寫Socket通信程序可以像訪問本地文件系統那樣通過URL訪問遠程對象,可以實現公共網關接口(CGI)腳本的開發,還可以應用Java小應用程序(Applet)、Java服務器頁面(Java Server Page,JSP)、Servlet等方式進行網絡應用開發。

Copyright © Linux教程網 All Rights Reserved