java是什么 簡(jiǎn)述JAVA的工作機(jī)制。為什么它能實(shí)現(xiàn)跨平臺(tái)?
簡(jiǎn)述JAVA的工作機(jī)制。為什么它能實(shí)現(xiàn)跨平臺(tái)?Java跨平臺(tái)是一個(gè)跨操作系統(tǒng)平臺(tái),也就是說(shuō),您編寫(xiě)的Java程序可以在不同的操作系統(tǒng)上運(yùn)行windows、Linux、UNIX,而無(wú)需修改。當(dāng)然,有一個(gè)
簡(jiǎn)述JAVA的工作機(jī)制。為什么它能實(shí)現(xiàn)跨平臺(tái)?
Java跨平臺(tái)是一個(gè)跨操作系統(tǒng)平臺(tái),也就是說(shuō),您編寫(xiě)的Java程序可以在不同的操作系統(tǒng)上運(yùn)行windows、Linux、UNIX,而無(wú)需修改。當(dāng)然,有一個(gè)前提是您的操作系統(tǒng)必須具有Java環(huán)境,即安裝了相應(yīng)的JDK。Java程序應(yīng)該編譯成類文件,這些類文件都交給JVM處理。
在Java之前,跨平臺(tái)是一件非常痛苦的事情,主要是因?yàn)閷?duì)系統(tǒng)的所有調(diào)用在不同的操作系統(tǒng)下都有不同的結(jié)果。簡(jiǎn)而言之,int的長(zhǎng)度在不同的操作系統(tǒng)中是不同的,甚至偶數(shù)字節(jié)的序列也是不同的。調(diào)用同一個(gè)函數(shù)會(huì)返回不同的格式。因此,編寫(xiě)程序的人應(yīng)該對(duì)不同的系統(tǒng)有很好的了解。如果他們真的需要與不同的操作系統(tǒng)兼容,他們應(yīng)該在程序中寫(xiě)很多If。在編譯時(shí),首先要確定所使用的操作系統(tǒng),并在編譯前創(chuàng)建大量的環(huán)境變量。而且,編譯后的二進(jìn)制可執(zhí)行文件只能在自己的系統(tǒng)中進(jìn)行編譯,它在整體上運(yùn)行。如果你寫(xiě)了一個(gè)函數(shù)庫(kù)給別人調(diào)用,那么光是對(duì)操作系統(tǒng)的判斷就占了絕大部分的代碼,你必須在不同的平臺(tái)上進(jìn)行測(cè)試,這是一項(xiàng)艱苦的工作。
自從Java出現(xiàn)以來(lái),操作系統(tǒng)兼容性的工作就交給了JVM。對(duì)于程序員來(lái)說(shuō),他們不應(yīng)該再關(guān)心int位的數(shù)量,以及高位是在前面還是在前面。您只需要使用java代碼來(lái)實(shí)現(xiàn)程序的邏輯,并讓JVM處理這些兼容性問(wèn)題。這樣,如果您編寫(xiě)一個(gè)程序來(lái)交付給客戶,如果客戶的環(huán)境正在運(yùn)行AIX,您就不需要安裝本地AIX來(lái)開(kāi)發(fā)和運(yùn)行。您可以在windows上完成所有的開(kāi)發(fā),然后將編譯好的文件交給客戶。以后如果其他客戶需要在Solaris上運(yùn)行這個(gè)程序,你不需要修改它,只需把它拿過(guò)去就可以運(yùn)行,非常方便!只有那些飽受跨平臺(tái)開(kāi)發(fā)折磨的人才能深刻理解用Java開(kāi)發(fā)跨平臺(tái)應(yīng)用程序的優(yōu)勢(shì)。
簡(jiǎn)述JAVA的工作機(jī)制。為什么它能實(shí)現(xiàn)跨平臺(tái)?
因?yàn)镴ava程序是由Java虛擬機(jī)(JVM)執(zhí)行的,所以不管Java代碼是在什么平臺(tái)上開(kāi)發(fā)的,它最終都會(huì)轉(zhuǎn)換成只有JVM才能識(shí)別的代碼。所以只要下載每個(gè)平臺(tái)的Java虛擬機(jī),就可以實(shí)現(xiàn)代碼的跨平臺(tái)操作。