如何用java寫一個(gè)網(wǎng)站 JAVA寫好的編譯好的程序能在沒有jdk的系統(tǒng)中運(yùn)行嗎?
JAVA寫好的編譯好的程序能在沒有jdk的系統(tǒng)中運(yùn)行嗎?讓我們從結(jié)論開始:JDK可以避免,但JRE仍然需要它!Java運(yùn)行必須依賴虛擬機(jī)(JVM)。如果希望系統(tǒng)直接運(yùn)行,則需要將其編譯為本機(jī)代碼。Ja
JAVA寫好的編譯好的程序能在沒有jdk的系統(tǒng)中運(yùn)行嗎?
讓我們從結(jié)論開始:JDK可以避免,但JRE仍然需要它
!Java運(yùn)行必須依賴虛擬機(jī)(JVM)。如果希望系統(tǒng)直接運(yùn)行,則需要將其編譯為本機(jī)代碼。Java的編譯結(jié)果是一個(gè)中間產(chǎn)品,稱為字節(jié)碼。如果您需要執(zhí)行,您需要通過JVM的JIT將字節(jié)碼轉(zhuǎn)換為本機(jī)代碼,然后系統(tǒng)才能執(zhí)行它
!所以JVM是必要的,JDK是一個(gè)開發(fā)工具,JRE是Java提供的API庫(kù)。寫一個(gè)程序肯定會(huì)用到JRE中的東西,所以JRE已經(jīng)成為必須的了!但JDK不一定非得這么做
!在Java世界,我還沒有發(fā)現(xiàn)任何類似C#mono的AOT編譯器工具(直接編譯指定系統(tǒng)平臺(tái)的本機(jī)代碼,這與JIT不同),所以直接執(zhí)行它還是有點(diǎn)問題