Java語(yǔ)言優(yōu)點(diǎn)
Java語(yǔ)言最大的優(yōu)點(diǎn)是它的跨平臺(tái)性。下面是小編為大家整理的Java語(yǔ)言優(yōu)點(diǎn),歡迎參考~
Java語(yǔ)言的優(yōu)點(diǎn)
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)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂,是很容易學(xué)習(xí)的。
面向?qū)ο螅篔ava語(yǔ)言提供類、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(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í)例才能訪問(wèn)內(nèi)存,使應(yīng)用更加安全。
可移植性:這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(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工作原理
Java語(yǔ)言引入了Java虛擬機(jī),具有跨平臺(tái)運(yùn)行的功能,能夠很好地適應(yīng)各種Web應(yīng)用。同時(shí),為了提高Java語(yǔ)言的性能和健壯性,還引入了如垃圾回收機(jī)制等的新功能,通過(guò)這些改進(jìn)讓Java具有其獨(dú)特的工作原理。
Java虛擬機(jī)(JVM)
Java虛擬機(jī)(Java Virtual Machine,JVM)是軟件模擬的計(jì)算機(jī)。JVM是Java平臺(tái)的核心,它可以在任何處理器上(無(wú)論是在計(jì)算機(jī)中還是在其他電子設(shè)備中)安全、兼容地執(zhí)行保存在.class文件中的字節(jié)碼。Java虛擬機(jī)的“機(jī)器碼”保存在.class文件中,有時(shí)也可以稱為字節(jié)碼文件。
Java虛擬機(jī)的簡(jiǎn)歷需要針對(duì)不同的軟硬件平臺(tái)來(lái)實(shí)現(xiàn),既要考慮處理器的型號(hào),也要考慮操作系統(tǒng)的種類。由此在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上,在UNIX、Linux、Windows和部分實(shí)時(shí)操作系統(tǒng)上都可以實(shí)現(xiàn)Java虛擬機(jī)。
為了讓編譯產(chǎn)生的字節(jié)碼能更好的解釋與執(zhí)行,把Java虛擬機(jī)分成了6個(gè)部分:JVM解釋器、JVM指令系統(tǒng)、寄存器、棧、存儲(chǔ)區(qū)和碎片回收區(qū)。
JVM解釋器:虛擬機(jī)處理字段碼的CPU。
JVM指令系統(tǒng):該系統(tǒng)和計(jì)算機(jī)很相似,一條指令由操作碼和操作數(shù)兩部分組成。操作碼為8位二進(jìn)制數(shù),主要是為了說(shuō)明一條指令的功能,操作數(shù)可以根據(jù)需要而定,JVM有256種不同的操作指令。
寄存器:JVM有自己的虛擬寄存器,這樣就可以快速地與JVM的解釋器進(jìn)行數(shù)據(jù)交換。為了功能的需要,JVM設(shè)置了4個(gè)常用的32位寄存器:pc(程序計(jì)數(shù)器)、optop(操作數(shù)棧頂指針)、frame(當(dāng)前執(zhí)行環(huán)境指針)和vars(指向當(dāng)前執(zhí)行環(huán)境中第一個(gè)局部變量的指針)。
JVM棧:是指令執(zhí)行時(shí)數(shù)據(jù)和信息存儲(chǔ)的場(chǎng)所的控制中心,它提供給JVM解釋器運(yùn)算所需要的信息。
存儲(chǔ)區(qū):JVM存儲(chǔ)區(qū)用于存儲(chǔ)編譯過(guò)的字節(jié)碼等信息。
碎片回收區(qū):JVM碎片回收是指將使用過(guò)的Java類的具體實(shí)例從內(nèi)存中進(jìn)行回收,這就使得開(kāi)發(fā)人員避免自己編程控制內(nèi)存的麻煩和危險(xiǎn)。隨著JVM的不斷升級(jí),其碎片回收的技術(shù)和算法也更加合理。JVM 1.4.1版后產(chǎn)生了一種分代收集技術(shù),簡(jiǎn)單來(lái)說(shuō)就是依據(jù)對(duì)象在程序中生存的時(shí)間劃分成代,以此為標(biāo)準(zhǔn)進(jìn)行碎片回收。
無(wú)用內(nèi)存自動(dòng)回收機(jī)制
在程序的執(zhí)行過(guò)程中,部分內(nèi)存在使用過(guò)后就處于廢棄狀態(tài),如果不及時(shí)進(jìn)行回收,很有可能導(dǎo)致內(nèi)存泄露,進(jìn)而引發(fā)系統(tǒng)崩潰。在C++語(yǔ)言中是由程序員進(jìn)行內(nèi)存回收的,程序員需要在編寫(xiě)程序時(shí)把不再使用的對(duì)象內(nèi)存釋放掉,這種人為管理內(nèi)存釋放的方法往往會(huì)因程序員的疏忽而致使內(nèi)存無(wú)法回收,同時(shí)也增加程序員的工作量。而在Java運(yùn)行環(huán)境中,始終存在著一個(gè)系統(tǒng)級(jí)的線程,專門(mén)跟蹤內(nèi)存的使用情況,定期檢測(cè)出不再使用的內(nèi)存,并自動(dòng)進(jìn)行回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。
代碼安全性檢查機(jī)制
安全和方便總是相對(duì)矛盾的。Java編程語(yǔ)言的出現(xiàn)使得客戶端計(jì)算機(jī)可以方便的從網(wǎng)絡(luò)中上傳或下載Java程序到本地計(jì)算機(jī)上運(yùn)行,但是如何保證該Java程序不攜帶病毒或沒(méi)有其他危險(xiǎn)目的呢?為了確保Java程序執(zhí)行的安全性,Java語(yǔ)言通過(guò)Applet程
【Java語(yǔ)言優(yōu)點(diǎn)】相關(guān)文章:
Java語(yǔ)言的優(yōu)點(diǎn)介紹07-01
淺談Java語(yǔ)言的優(yōu)點(diǎn)06-01
JAVA語(yǔ)言有什么優(yōu)點(diǎn)10-16
java語(yǔ)言優(yōu)點(diǎn)有哪些08-25
Java語(yǔ)言的優(yōu)點(diǎn)是什么08-07
java語(yǔ)言有哪些優(yōu)點(diǎn)10-14