- Java語(yǔ)言的優(yōu)點(diǎn)有哪些 推薦度:
- 相關(guān)推薦
Java語(yǔ)言的優(yōu)點(diǎn)
Java語(yǔ)言有什么優(yōu)點(diǎn)呢?下面是小編整理的相關(guān)內(nèi)容,歡迎閱讀!更多內(nèi)容請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)!
Java語(yǔ)言最大的優(yōu)點(diǎn)是它的跨平臺(tái)性。一次編寫(xiě),到處運(yùn)行。能始終如一的在任何平臺(tái)上運(yùn)行,使得系統(tǒng)的移植、平臺(tái)的遷移變得十分容易。其他優(yōu)點(diǎn)如下。
簡(jiǎn)單易學(xué):Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂(yōu),是很容易學(xué)習(xí)的。
面向?qū)ο螅篔ava語(yǔ)言提供類(lèi)、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類(lèi)之間的單繼承,但支持接口之間的多繼承,并支持類(lèi)與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implement)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定?傊,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
安全性:Java語(yǔ)言不支持指針,只有通過(guò)對(duì)象的實(shí)例才能訪(fǎng)問(wèn)內(nèi)存,使應(yīng)用更加安全。
可移植性:這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類(lèi)型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。
對(duì)對(duì)象技術(shù)的全面支持和平臺(tái)內(nèi)嵌的API使得Java應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。
【相關(guān)閱讀】JAVA語(yǔ)言的發(fā)展史
1995年,美國(guó)Sun Microsystems公司正式向IT業(yè)界推出了java語(yǔ)言,該語(yǔ)言具有安全、跨平臺(tái)、面向?qū)ο、?jiǎn)單、適用于網(wǎng)絡(luò)等顯著特點(diǎn),當(dāng)時(shí)以web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,java語(yǔ)言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用java語(yǔ)言編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進(jìn)行運(yùn)行。包括IBM、Oracle、微軟、Netscape、Apple、SGI等大公司紛紛與Sun Microsystems公司簽訂合同,授權(quán)使用java平臺(tái)技術(shù)。微軟公司總裁比爾蓋茨先生在經(jīng)過(guò)研究后認(rèn)為"java語(yǔ)言是長(zhǎng)時(shí)間以來(lái)最卓越的程序設(shè)計(jì)語(yǔ)言"。目前,java語(yǔ)言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語(yǔ)言,截止到2001年中,全世界大約有310萬(wàn)java程序員,許多大學(xué)紛紛開(kāi)設(shè)java課程,java正逐步成為世界上程序員最多的編程語(yǔ)言。
在經(jīng)歷了以大型機(jī)為代表的集中計(jì)算模式和以PC機(jī)為代表的分散計(jì)算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計(jì)算模式進(jìn)入了網(wǎng)絡(luò)計(jì)算時(shí)代。網(wǎng)絡(luò)計(jì)算模式的一個(gè)特點(diǎn)是計(jì)算機(jī)是異構(gòu)的,即計(jì)算機(jī)的類(lèi)型和操作系統(tǒng)是不一樣的,例如SUN工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統(tǒng),而PC機(jī)的硬件是INTEL體系,操作系統(tǒng)是windows或者是Linux,因此相應(yīng)的編程語(yǔ)言基本上只是適用于單機(jī)系統(tǒng),例如COBOL、FORTRAN、C、C++等等;網(wǎng)絡(luò)計(jì)算模式的另一個(gè)特點(diǎn)是代碼可以通過(guò)網(wǎng)絡(luò)在各種計(jì)算機(jī)上進(jìn)行遷移,這就迫切需要一種跨平臺(tái)的編程語(yǔ)言,使得用它編寫(xiě)的程序能夠在網(wǎng)絡(luò)中的各種計(jì)算機(jī)上能夠正常運(yùn)行,java就是在這種需求下應(yīng)運(yùn)而生的。正是因?yàn)閖ava語(yǔ)言符合了互聯(lián)網(wǎng)時(shí)代的發(fā)展要求,才使它獲得了巨大的成功。
大家想一想,在PC下用windows編寫(xiě)的程序能夠不做修改就直接拿到UNIX系統(tǒng)上運(yùn)行嗎?顯然是不可以的,因?yàn)槌绦虻膱?zhí)行最終必須轉(zhuǎn)換成為計(jì)算機(jī)硬件的機(jī)器指令來(lái)執(zhí)行,專(zhuān)門(mén)為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫(xiě)的程序是不能夠直接放到另外的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計(jì)算機(jī)上能夠運(yùn)行,就要求程序設(shè)計(jì)語(yǔ)言是能夠跨越各種軟件和硬件平臺(tái)的,而java滿(mǎn)足了這一需求。
俗話(huà)說(shuō):"有心栽花花不成,無(wú)心插柳柳成蔭"。Sun公司絕沒(méi)想到本想用于消費(fèi)電子產(chǎn)品開(kāi)發(fā)的編程語(yǔ)言卻率先在網(wǎng)絡(luò)中得到了廣泛應(yīng)用,但是也可以說(shuō)是"東方不亮西方亮",正是因?yàn)閖ava語(yǔ)言在設(shè)計(jì)目標(biāo)上的正確性使得java語(yǔ)言"是金字總會(huì)發(fā)光的"。C語(yǔ)言是面向過(guò)程的語(yǔ)言,也是使用率非常高的語(yǔ)言;而面向?qū)ο蟮乃枷胍氲骄幊陶Z(yǔ)言之后,C語(yǔ)言就被改造成為面向?qū)ο蟮腃++語(yǔ)言,得到了廣泛的應(yīng)用。但是C++語(yǔ)言必須兼容C語(yǔ)言,因此C++語(yǔ)言是面向過(guò)程和面向?qū)ο蠡旌系恼Z(yǔ)言。
java語(yǔ)言產(chǎn)生于C++語(yǔ)言之后,是完全的面向?qū)ο蟮木幊陶Z(yǔ)言,充分吸取了C++語(yǔ)言的優(yōu)點(diǎn),采用了程序員所熟悉的C和C++語(yǔ)言的許多語(yǔ)法,同時(shí)又去掉了C語(yǔ)言中指針、內(nèi)存申請(qǐng)和釋放等影響程序健壯性的部分,可以說(shuō)java語(yǔ)言是站在C++語(yǔ)言這個(gè)"巨人的肩膀上"前進(jìn)的。
java語(yǔ)言的一個(gè)目標(biāo)是跨平臺(tái),因此采用了解釋執(zhí)行而不是編譯執(zhí)行的運(yùn)行環(huán)境,在執(zhí)行過(guò)程中根據(jù)所在的不同的硬件平臺(tái)把程序解釋為當(dāng)前的機(jī)器碼,實(shí)現(xiàn)跨平臺(tái)運(yùn)行。而動(dòng)態(tài)下載程序代碼的機(jī)制完全是為了適應(yīng)網(wǎng)絡(luò)計(jì)算的特點(diǎn),程序可以根據(jù)需要把代碼實(shí)時(shí)的從服務(wù)器中下載過(guò)來(lái)執(zhí)行,在此之前還沒(méi)有任何一種語(yǔ)言能夠支持這一點(diǎn)。
java是印尼的一個(gè)小島,盛產(chǎn)咖啡,而程序員往往喜歡喝咖啡,因此取名為java語(yǔ)言?磥(lái),目前java這杯咖啡已經(jīng)飄香在世界各地。
任何事物的產(chǎn)生既有必然的原因也有偶然的因素,java語(yǔ)言的出現(xiàn)也驗(yàn)證了這一點(diǎn)。1991年,美國(guó)Sun Microsystems公司的某個(gè)研究小組為了能夠在消費(fèi)電子產(chǎn)品上開(kāi)發(fā)應(yīng)用程序,積極尋找合適的編程語(yǔ)言。消費(fèi)電子產(chǎn)品種類(lèi)繁多,包括PDA、機(jī)頂盒、手機(jī)等等,即使是同一類(lèi)消費(fèi)電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺(tái)的問(wèn)題。當(dāng)時(shí)最流行的編程語(yǔ)言是C和C++語(yǔ)言,Sun公司的研究人員就考慮是否可以采用C++語(yǔ)言來(lái)編寫(xiě)消費(fèi)電子產(chǎn)品的應(yīng)用程序,但是研究表明,對(duì)于消費(fèi)電子產(chǎn)品而言C++語(yǔ)言過(guò)于復(fù)雜和龐大,并不適用,安全性也并不令人滿(mǎn)意。于是,Bill Joy先生領(lǐng)導(dǎo)的研究小組就著手設(shè)計(jì)和開(kāi)發(fā)出一種語(yǔ)言,稱(chēng)之為Oak。該語(yǔ)言采用了許多C語(yǔ)言的語(yǔ)法,提高了安全性,并且是面向?qū)ο蟮恼Z(yǔ)言,但是Oak語(yǔ)言在商業(yè)上并未獲得成功。時(shí)間轉(zhuǎn)到了1995年,互聯(lián)網(wǎng)在世界上蓬勃發(fā)展,Sun公司發(fā)現(xiàn)Oak語(yǔ)言所具有的跨平臺(tái)、面向?qū)ο蟆踩愿叩忍攸c(diǎn)非常符合互聯(lián)網(wǎng)的需要,于是改進(jìn)了該語(yǔ)言的設(shè)計(jì),要達(dá)到如下幾個(gè)目標(biāo):
◇ 創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,而不是面向過(guò)程的語(yǔ)言;
◇ 提供一個(gè)解釋執(zhí)行的程序運(yùn)行環(huán)境,是程序代碼獨(dú)立于平臺(tái);
◇ 吸收C和C++的優(yōu)點(diǎn),使程序員容易掌握;
◇ 去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請(qǐng)和釋放;
◇ 實(shí)現(xiàn)多線(xiàn)程,使得程序能夠同時(shí)執(zhí)行多個(gè)任務(wù);
◇ 提供動(dòng)態(tài)下載程序代碼的機(jī)制;
◇ 提供代碼校驗(yàn)機(jī)制以保證安全性
【Java語(yǔ)言的優(yōu)點(diǎn)】相關(guān)文章:
Java語(yǔ)言的優(yōu)點(diǎn)有哪些04-15
Java語(yǔ)言編程基礎(chǔ)知識(shí)04-18