Java語(yǔ)言的作者們編寫(xiě)了具有廣泛影響的Java白皮書(shū),里面詳細(xì)地介紹了他們的設(shè)計(jì)目標(biāo)以及實(shí)現(xiàn)成果,還用簡(jiǎn)短的篇幅介紹了Java語(yǔ)言的特性。下面將對(duì)這些特性進(jìn)行扼要的介紹。
1 簡(jiǎn)單
Java語(yǔ)言的語(yǔ)法簡(jiǎn)單明了,容易掌握,而且是純面向?qū)ο蟮恼Z(yǔ)言。Java語(yǔ)言的簡(jiǎn)單性主要體現(xiàn)在以下幾個(gè)方面:
語(yǔ)法規(guī)則和C++類(lèi)似。從某種意義上講,Java語(yǔ)言是由C和C++語(yǔ)言轉(zhuǎn)變而來(lái)的,所以C程序設(shè)計(jì)人員可以很容易地掌握J(rèn)ava語(yǔ)言的語(yǔ)法。
Java語(yǔ)言對(duì)C++進(jìn)行了簡(jiǎn)化和提高。例如,Java使用接口取代了多重繼承,并取消了指針,因?yàn)橹羔樅投嘀乩^承通常使程序變得復(fù)雜。Java語(yǔ)言還通過(guò)垃圾自動(dòng)收集,大大簡(jiǎn)化了程序設(shè)計(jì)人員的資源釋放管理工作。
Java提供了豐富的類(lèi)庫(kù)、API文檔以及第三方開(kāi)發(fā)包,另外還有大量基于Java的開(kāi)源項(xiàng)目。JDK(Java開(kāi)發(fā)者工具箱)已經(jīng)開(kāi)放源代碼,讀者可以通過(guò)分析項(xiàng)目的源代碼,提高自己的編程水平。
2 面向?qū)ο?/p>
面向?qū)ο笫荍ava語(yǔ)言的基礎(chǔ),也是Java語(yǔ)言的重要特性,它本身就是一種純面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java提倡萬(wàn)物皆對(duì)象,語(yǔ)法中不能在類(lèi)外面定義單獨(dú)的數(shù)據(jù)和函數(shù),也就是說(shuō),Java語(yǔ)言最外部的數(shù)據(jù)類(lèi)型是對(duì)象,所有的元素都要通過(guò)類(lèi)和對(duì)象來(lái)訪問(wèn)。
3 分布性
Java的分布性包括操作分布和數(shù)據(jù)分布,其中操作分布是指在多個(gè)不同的主機(jī)上布置相關(guān)操作,而數(shù)據(jù)分布是將數(shù)據(jù)分別存放在多個(gè)不同的主機(jī)上,這些主機(jī)是網(wǎng)絡(luò)中的不同成員。Java可以憑借URL(統(tǒng)一資源定位符)對(duì)象訪問(wèn)網(wǎng)絡(luò)對(duì)象,訪問(wèn)方式與訪問(wèn)本地系統(tǒng)相同。
4 可移植性
Java程序具有與體系結(jié)構(gòu)無(wú)關(guān)的特性,可以非常方便地移植到網(wǎng)絡(luò)上的不同計(jì)算機(jī)中。同時(shí),Java的類(lèi)庫(kù)也實(shí)現(xiàn)了針對(duì)不同平臺(tái)的接口,使得這些類(lèi)庫(kù)也可以被移植。
5 解釋型
運(yùn)行Java程序需要解釋器。任何移植了Java解釋器的計(jì)算機(jī)或其他設(shè)備都可以用Java字節(jié)碼進(jìn)行解釋執(zhí)行。字節(jié)碼獨(dú)立于平臺(tái),它本身攜帶了許多編譯時(shí)的信息,使得連接過(guò)程更加簡(jiǎn)單,開(kāi)發(fā)過(guò)程更加迅速,更具探索性。
6 安全性
Java語(yǔ)言刪除了類(lèi)C語(yǔ)言中的指針和內(nèi)存釋放等語(yǔ)法,有效地避免了用戶對(duì)內(nèi)存的非法操作。Java程序代碼要經(jīng)過(guò)代碼校驗(yàn)、指針校驗(yàn)等很多測(cè)試步驟才能夠運(yùn)行,所以未經(jīng)允許的Java程序不可能出現(xiàn)損害系統(tǒng)平臺(tái)的行為,而且使用Java可以編寫(xiě)出防病毒和防修改的系統(tǒng)。
7 健壯性
Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一,是能編寫(xiě)出多方面的、可靠的應(yīng)用程序。因此,Java會(huì)檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤,并消除錯(cuò)誤。類(lèi)型檢查能幫助用戶檢查出許多在開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤,集成開(kāi)發(fā)工具(如Eclipse、NetBeans)的出現(xiàn)也使得編譯和運(yùn)行Java程序更加容易。
8 多線程
多線程機(jī)制能夠使應(yīng)用程序在同一時(shí)間并行執(zhí)行多項(xiàng)任務(wù),而且相應(yīng)的同步機(jī)制可以保證不同線程能夠正確地共享數(shù)據(jù)。使用多線程,可以帶來(lái)更好的交互能力和實(shí)時(shí)行為。
9 高性能
Java編譯后的字節(jié)碼是在解釋器中運(yùn)行的,所以它的速度較多數(shù)交互式應(yīng)用程序提高了很多。另外,字節(jié)碼可以在程序運(yùn)行時(shí)被翻譯成特定平臺(tái)的機(jī)器指令,從而進(jìn)一步提高運(yùn)行速度。
10 動(dòng)態(tài)
Java在很多方面比C和C++更能夠適應(yīng)發(fā)展的環(huán)境,可以動(dòng)態(tài)調(diào)整庫(kù)中方法和增加變量,而客戶端卻不需要任何更改。在Java中進(jìn)行動(dòng)態(tài)調(diào)整是非常簡(jiǎn)單和直接的。
責(zé)任編輯:YYX
-
JAVA
+關(guān)注
關(guān)注
19文章
2966瀏覽量
104701 -
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32852
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論