Java語言特點有哪些

這篇文章主要介紹了Java語言特點有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為惠安企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作,惠安網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

一、Java語言特點
之前我們提到Java是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言。具體來

說,它具有如下特性:簡單性、面向?qū)ο?、分布式、解釋型、可靠、安全、平臺無關(guān)、可移植、高

性能、多線程、動態(tài)性等。下面我們將重點介紹Java語言的面向?qū)ο?、平臺無關(guān)、分布式、多線程

、可靠和安全等特性。

1?面向?qū)ο?br/>
面向?qū)ο笃鋵嵤乾F(xiàn)實世界模型的自然延伸?,F(xiàn)實世界中任何實體都可以看作是對象。對象之間

通過消息相互作用。另外,現(xiàn)實世界中任何實體都可歸屬于某類事物,任何對象都是某一類事物的

實例。如果說傳統(tǒng)的過程式編程語言是以過程為中心以算法為驅(qū)動的話,面向?qū)ο蟮木幊陶Z言則是

以對象為中心以消息為驅(qū)動。用公式表示,過程式編程語言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z

言為:程序=對象+消息。

所有面向?qū)ο缶幊陶Z言都支持三個概念:封裝、多態(tài)性和繼承,Java也不例外?,F(xiàn)實世界中的

對象均有屬性和行為,映射到計算機程序上,屬性則表示對象的數(shù)據(jù),行為表示對象的方法(其作

用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個自主式框架把對象的數(shù)據(jù)和方法聯(lián)在一起形

成一個整體??梢哉f,對象是支持封裝的手段,是封裝的基本單位。Java語言的封裝性較強,因為

Java無全程變量,無主函數(shù),在Java中絕大部分成員是對象,只有簡單的數(shù)字類型、字符類型和布

爾類型除外。而對于這些類型,Java也提供了相應(yīng)的對象類型以便與其他對象交互操作。

多態(tài)性就是多種表現(xiàn)形式,具體來說,可以用“一個對外接口,多個內(nèi)在實現(xiàn)方法”表示。舉

一個例子,計算機中的堆棧可以存儲各種格式的數(shù)據(jù),包括整型,浮點或字符。不管存儲的是何種

數(shù)據(jù),堆棧的算法實現(xiàn)是一樣的。針對不同的數(shù)據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接

口名,系統(tǒng)可自動選擇。運算符重載(operatoroverload)一直被認(rèn)為是一種優(yōu)秀的多態(tài)機制體現(xiàn),

但由于考慮到它會使程序變得難以理解,所以Java最后還是把它取消了。

繼承是指一個對象直接使用另一對象的屬性和方法。事實上,我們遇到的很多實體都有繼承的

含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實

體都具有汽車的特性,因此,汽車是它們的“父親”,而這些子實體則是汽車的“孩子”。Java提

供給用戶一系列類(class),Java的類有層次結(jié)構(gòu),子類可以繼承父類的屬性和方法。與另外一些

面向?qū)ο缶幊陶Z言不同,Java只支持單一繼承。

2?平臺無關(guān)性

Java是平臺無關(guān)的語言是指用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行。平

臺無關(guān)有兩種:源代碼級和目標(biāo)代碼級。C和C++具有一定程度的源代碼級平臺無關(guān),表明用C或C++

寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺上運行。

Java主要靠Java虛擬機(JVM)在目標(biāo)碼級實現(xiàn)平臺無關(guān)性。JVM是一種抽象機器,它附著在具

體操作系統(tǒng)之上,本身具有一套虛機器指令,并有自己的棧、寄存器組等。但JVM通常是在軟件上而

不是在硬件上實現(xiàn)。(目前,SUN系統(tǒng)公司已經(jīng)設(shè)計實現(xiàn)了Java芯片,主要使用在網(wǎng)絡(luò)計算機NC上。

另外,Java芯片的出現(xiàn)也會使Java更容易嵌入到家用電器中。)JVM是Java平臺無關(guān)的基礎(chǔ),在JVM

上,有一個Java解釋器用來解釋Java編譯器編譯后的程序。Java編程人員在編寫完軟件后,通過Java

編譯器將Java源程序編譯為JVM的字節(jié)代碼。任何一臺機器只要配備了Java解釋器,就可以運行這個

程序,而不管這種字節(jié)碼是在何種平臺上生成的。另外,Java采用的是基于IEEE標(biāo)準(zhǔn)的數(shù)據(jù)類型。

通過JVM保證數(shù)據(jù)類型的一致性,也確保了Java的平臺無關(guān)性。

Java的平臺無關(guān)性具有深遠意義。首先,它使得編程人員所夢寐以求的事情(開發(fā)一次軟件在

任意平臺上運行)變成事實,這將大大加快和促進軟件產(chǎn)品的開發(fā)。其次Java的平臺無關(guān)性正好迎

合了“網(wǎng)絡(luò)計算機”思想。如果大量常用的應(yīng)用軟件(如字處理軟件等)都用Java重新編寫,并且

放在某個Internet服務(wù)器上,那么具有NC的用戶將不需要占用大量空間安裝軟件,他們只需要一個

Java解釋器,每當(dāng)需要使用某種應(yīng)用軟件時,下載該軟件的字節(jié)代碼即可,運行結(jié)果也可以發(fā)回服

務(wù)器。目前,已有數(shù)家公司開始使用這種新型的計算模式構(gòu)筑自己的企業(yè)信息系統(tǒng)。

3?分布式

分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的不同主機上,操作分布

是指把一個計算分散在不同主機上處理。

Java支持WWW客戶機/服務(wù)器計算模式,因此,它支持這兩種分布性。對于前者,Java提供了一

個叫作URL的對象,利用這個對象,你可以打開并訪問具有相同URL地址上的對象,訪問方式與訪問

本地文件系統(tǒng)相同。對于后者,Java的applet小程序可以從服務(wù)器下載到客戶端,即部分計算在客

戶端進行,提高系統(tǒng)執(zhí)行效率。

Java提供了一整套網(wǎng)絡(luò)類庫,開發(fā)人員可以利用類庫進行網(wǎng)絡(luò)程序設(shè)計,方便得實現(xiàn)Java的分

布式特性。

4?可靠性和安全性

Java最初設(shè)計目的是應(yīng)用于電子類消費產(chǎn)品,因此要求較高的可靠性。Java雖然源于C++,但它

消除了許多C++不可靠因素,可以防止許多編程錯誤。首先,Java是強類型的語言,要求顯式的方法

聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯誤,保證程序更加可靠;其次,Java不支持指針,這杜

絕了內(nèi)存的非法訪問;第三,Java的自動單元收集防止了內(nèi)存丟失等動態(tài)內(nèi)存分配導(dǎo)致的問題;第

四,Java解釋器運行時實施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后,Java提供了異常處理

機制,程序員可以把一組錯誤代碼放在一個地方,這樣可以簡化錯誤處理任務(wù)便于恢復(fù)。

由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶

從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java通過自己的安全機制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ?br/>
地系統(tǒng)的威脅破壞。當(dāng)Java字節(jié)碼進入解釋器時,首先必須經(jīng)過字節(jié)碼校驗器的檢查,然后,Java

解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨的內(nèi)存區(qū)域,

避免應(yīng)用程序之間相互干擾破壞。最后,客戶端用戶還可以限制從網(wǎng)絡(luò)上裝載的類只能訪問某些文

件系統(tǒng)。

上述幾種機制結(jié)合起來,使得Java成為安全的編程語言。

5?多線程

線程是操作系統(tǒng)的一種新概念,它又被稱作輕量進程,是比傳統(tǒng)進程更小的可并發(fā)執(zhí)行的單位。

C和C++采用單線程體系結(jié)構(gòu),而Java卻提供了多線程支持。

Java在兩方面支持多線程。一方面,Java環(huán)境本身就是多線程的。若干個系統(tǒng)線程運行負責(zé)必要

的無用單元回收,系統(tǒng)維護等系統(tǒng)級操作;另一方面,Java語言內(nèi)置多線程控制,可以大大簡化多線

程應(yīng)用程序開發(fā)。Java提供了一個類Thread,由它負責(zé)啟動運行,終止線程,并可檢查線程狀態(tài)。Java

的線程還包括一組同步原語。這些原語負責(zé)對線程實行并發(fā)控制。利用Java的多線程編程接口,開發(fā)人

員可以方便得寫出支持多線程的應(yīng)用程序,提高程序執(zhí)行效率。必須注意地是,Java的多線程支持在一

定程度上受運行時支持平臺的限制。例如,如果操作系統(tǒng)本身不支持多線程,Java的多線程特性

可能就表現(xiàn)不出來。

二、Java小程序和應(yīng)用程序
用Java可以寫兩種類型的程序:小程序(又叫JavaApplet)和應(yīng)用程序(JavaApplication)。小程

序是嵌入在HTML文檔中的Java程序;而Java應(yīng)用程序是從命令行運行的程序。對Java而言,Java小程序

的大小和復(fù)雜性都沒有限制。事實上,Java小程序有些方面比Java應(yīng)用程序更強大。但是由于目前

Internet通訊速度有限,因此大多數(shù)小程序規(guī)模較小。小程序和應(yīng)用程序之間的技術(shù)差別在于運行環(huán)境。

Java應(yīng)用程序運行在最簡單的環(huán)境中,它的唯一外部輸入就是命令行參數(shù)。另一方面,Java小程序則需

要來自Web瀏覽器的大量信息:它需要知道何時啟動,何時放入瀏覽器窗口,何處,何時激活關(guān)閉。由于

這兩種不同的執(zhí)行環(huán)境,小程序和應(yīng)用程序的最低要求不同。

由于WWW使小程序的發(fā)布十分便利,因此小程序更適合作為Internet上的應(yīng)用程序。相反,非網(wǎng)絡(luò)系

統(tǒng)和內(nèi)存較小的系統(tǒng)更適合用Java應(yīng)用程序而較少用Java小程序?qū)崿F(xiàn)。另外,Java應(yīng)用程序也很容易以

Internet為基礎(chǔ)環(huán)境,事實上有些優(yōu)秀的Java應(yīng)用程序正是如此。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Java語言特點有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

標(biāo)題名稱:Java語言特點有哪些
URL鏈接:http://muchs.cn/article4/gppgoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、手機網(wǎng)站建設(shè)動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站微信公眾號、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化