當前位置:才華齋>計算機>java語言>

JAVA語言的五大優點有哪些

java語言 閱讀(1.51W)

Java語言最大的優點是它的跨平臺性。一次編寫,到處執行。以下是小編整理的關於java語言的五大優點,一起來看看吧!

JAVA語言的五大優點有哪些

  1.面向物件

面向物件其實就是模擬現實世界。現實世界中任何實體都可以看作是物件。物件之間通過訊息相互作用。另外,現實世界中任何實體都可歸屬於某類事物,任何物件都是某一類事物的例項。如果說傳統的程序式程式設計語言是以過程為中心以演算法為驅動的話,面向物件的程式語言則是以物件為中心以訊息為驅動。用公式表示,程序式程式設計語言為:程式=演算法+資料;面向物件程式語言為:程式=物件+訊息。   所有面向物件程式語言都支援三個概念:封裝、多型性和繼承,Java也不例外。現實世界中的物件均有屬性和行為,對映到計算機程式上,屬性則表示物件的資料,行為表示物件的方法(其作用是處理資料或同外界互動)。所謂封裝,就是用一個自主式框架把物件的資料和方法聯在一起形成一個整體。可以說,物件是支援封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為Java無全程變數,無主函式,在Java中絕大部分成員是物件,只有簡單的數字型別、字元型別和布林型別除外。而對於這些型別,Java也提供了相應的物件型別以便與其他物件互動操作。多型性就是多種表現形式,具體來說,可以用“一個對外介面,多個內在實現方法”表示。舉一個例子,計算機中的堆疊可以儲存各種格式的資料,包括整型,浮點或字元。不管儲存的是何種資料,堆疊的演算法實現是一樣的。針對不同的資料型別,程式設計人員不必手工選擇,只需使用統一介面名,系統可自動選擇。運算子過載(operatoroverload)一直被認為是一種優秀的多型機制體現,但由於考慮到它會使程式變得難以理解,所以Java最後還是把它取消了。   繼承是指一個物件直接使用另一物件的屬性和方法。事實上,我們遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的“父親”,而這些子實體則是汽車的“孩子”。Java提供給使用者一系列類(class),Java的類有層次結構,子類可以繼承父類的屬性和方法。與另外一些面向物件程式語言不同,Java只支援單一繼承。

  2平臺無關性

Java是平臺無關的語言是指用Java寫的應用程式不用修改就可在不同的軟硬體平臺上執行。平臺無關有兩種:原始碼級和目的碼級。C和C++具有一定程度的原始碼級平臺無關,表明用C或C++寫的應用程式不用修改只需重新編譯就可以在不同平臺上執行。   Java主要靠Java虛擬機器(JVM)在目標碼級實現平臺無關性。JVM是一種抽象機器,它附著在具體作業系統之上,本身具有一套虛機器指令,並有自己的棧、暫存器組等。但JVM通常是在軟體上而不是在硬體上實現。(目前,SUN系統公司已經設計實現了Java晶片,主要使用在網路計算機NC上。   另外,Java晶片的出現也會使Java更容易嵌入到家用電器中。)JVM是Java平臺無關的基礎,在JVM上,有一個Java直譯器用來解釋Java編譯器編譯後的程式。Java程式設計人員在編寫完軟體後,通過Java編譯器將Java源程式編譯為JVM的位元組程式碼。任何一臺機器只要配備了Java直譯器,就可以執行這個程式,而不管這種位元組碼是在何種平臺上生成的。另外,Java採用的是基於IEEE標準的資料型別。通過JVM保證資料型別的一致性,也確保了Java的平臺無關性。   Java的平臺無關性具有深遠意義。首先,它使得程式設計人員所夢寐以求的事情(開發一次軟體在任意平臺上執行)變成事實,這將大大加快和促進軟體產品的開發。其次Java的平臺無關性正好迎合了“網路計算機”思想。如果大量常用的應用軟體(如字處理軟體等)都用Java重新編寫,並且放在某個Internet伺服器上,那麼具有NC的使用者將不需要佔用大量空間安裝軟體,他們只需要一個   Java直譯器,每當需要使用某種應用軟體時,下載該軟體的位元組程式碼即可,執行結果也可以發回伺服器。目前,已有數家公司開始使用這種新型的計算模式構築自己的企業資訊系統。

  3分散式

分散式包括資料分佈和操作分佈。資料分佈是指資料可以分散在網路的.不同主機上,操作分佈是指把一個計算分散在不同主機上處理。   Java支援WWW客戶機/伺服器計算模式,因此,它支援這兩種分佈性。對於前者,Java提供了一個叫作URL的物件,利用這個物件,你可以開啟並訪問具有相同URL地址上的物件,訪問方式與訪問本地檔案系統相同。對於後者,Java的applet小程式可以從伺服器下載到客戶端,即部分計算在客戶端進行,提高系統執行效率。   Java提供了一整套網路類庫,開發人員可以利用類庫進行網路程式設計,方便得實現Java的分散式特性。

  4可靠性和安全性

Java最初設計目的是應用於電子類消費產品,因此要求較高的可靠性。Java雖然源於C++,但它消除了許多C++不可靠因素,可以防止許多程式設計錯誤。首先,Java是強型別的語言,要求顯式的方法宣告,這保證了編譯器可以發現方法呼叫錯誤,保證程式更加可靠;其次,Java不支援指標,這杜絕了記憶體的非法訪問;第三,Java的自動單元收集防止了記憶體丟失等動態記憶體分配導致的問題;第四,Java直譯器執行時實施檢查,可以發現數組和字串訪問的越界,最後,Java提供了異常處理機制,程式設計師可以把一組錯誤程式碼放在一個地方,這樣可以簡化錯誤處理任務便於恢復。由於Java主要用於網路應用程式開發,因此對安全性有較高的要求。如果沒有安全保證,使用者從網路下載程式執行就非常危險。Java通過自己的安全機制防止了病毒程式的產生和下載程式對本地系統的威脅破壞。當Java位元組碼進入直譯器時,首先必須經過位元組碼校驗器的檢查,然後,Java直譯器將決定程式中類的記憶體佈局,隨後,類裝載器負責把來自網路的類裝載到單獨的記憶體區域,避免應用程式之間相互干擾破壞。最後,客戶端使用者還可以限制從網路上裝載的類只能訪問某些檔案系統。上述幾種機制結合起來,使得Java成為安全的程式語言。

  5多執行緒

執行緒是作業系統的一種新概念,它又被稱作輕量程序,是比傳統程序更小的可併發執行的單位。C和C++採用單執行緒體系結構,而Java卻提供了多執行緒支援。   Java在兩方面支援多執行緒。一方面,Java環境本身就是多執行緒的。若干個系統執行緒執行負責必要的無用單元回收,系統維護等系統級操作;另一方面,Java語言內建多執行緒控制,可以大大簡化多執行緒應用程式開發。Java提供了一個類Thread,由它負責啟動執行,終止執行緒,並可檢查執行緒狀態。Java的執行緒還包括一組同步原語。這些原語負責對執行緒實行併發控制。利用Java的多執行緒程式設計介面,開發人員可以方便得寫出支援多執行緒的應用程式,提高程式執行效率。必須注意地是,Java的多執行緒支援在一定程度上受執行時支援平臺的限制。例如,如果作業系統本身不支援多執行緒,Java的多執行緒特性可能就表現不出來。