App下載
話(huà)題 首頁(yè) > Java 教程微課討論區(qū)> 小題討論區(qū)> 詳情

關(guān)于一次編寫(xiě),處處運(yùn)行的介紹

精華
送紅塵 2022-05-31 10:21:45 瀏覽(1623) 回復(fù)(2) 贊(0)
Java 介紹—開(kāi)始學(xué)習(xí)Java | Java是一門(mén)很奇怪的語(yǔ)言,以c語(yǔ)言為例,c語(yǔ)言編譯器只需要把c語(yǔ)言代碼編譯為機(jī)器碼就可以直接執(zhí)行。 再以Python為例,Python只需要把代碼丟進(jìn)Python解釋器就可以直接運(yùn)行。 而Java奇怪就奇怪在,他需要兩步,他需要先將Java代碼編譯成Java字節(jié)碼(這就是一處編譯),然后需要將Java字節(jié)碼放在jvm(可以理解為Java字節(jié)碼解釋器),所以每個(gè)平臺(tái)如果有jvm,就可以執(zhí)行相同的Java字節(jié)碼,因?yàn)閖vm雖然底層實(shí)現(xiàn)有所不同,但給Java字節(jié)碼的運(yùn)行條件都是相同的。所以編譯過(guò)的Java字節(jié)碼不管是在什么平臺(tái)的jvm上都能運(yùn)行,只要這個(gè)平臺(tái)有jvm(這就是處處執(zhí)行)。 這樣設(shè)計(jì)的好處就是,編譯器只需要開(kāi)發(fā)一次,jvm由各個(gè)平臺(tái)獨(dú)自開(kāi)發(fā),Java的代碼在什么平臺(tái)都能運(yùn)行,其實(shí)這樣的特性大部分解釋器都有,比如Python也可以在多個(gè)平臺(tái)運(yùn)行。(處處執(zhí)行是來(lái)自解釋器解釋執(zhí)行的優(yōu)勢(shì)) 因?yàn)镴ava是經(jīng)過(guò)編譯的,編譯的代碼效率更高,這也是大部分解釋器的缺點(diǎn),Java的編譯過(guò)程解決了解釋器的這個(gè)缺點(diǎn),使得Java既擁有解釋器的跨平臺(tái)性,又擁有了編譯器的高性能。
java

回答(2)

要回復(fù),請(qǐng)先登錄 或者注冊(cè)