糯米文學吧

位置:首頁 > 計算機 > java語言

JAVA語言的五大優點有哪些

java語言1.48W

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的多線程特性可能就表現不出來。

標籤:JAVA 五大 語言