java動態(tài)綁定的原理 Java程序到底是如何運行的?
Java程序到底是如何運行的?Java程序的運行得益于JVM虛擬機用C語言編譯的程序?qū)⑼ㄟ^編譯器編譯成exe文件,然后將exe可執(zhí)行文件交給windows系統(tǒng)運行。為什么不問問exe文件是如何運行的?
Java程序到底是如何運行的?
Java程序的運行得益于JVM虛擬機
用C語言編譯的程序?qū)⑼ㄟ^編譯器編譯成exe文件,然后將exe可執(zhí)行文件交給windows系統(tǒng)運行。為什么不問問exe文件是如何運行的?可能是因為這已經(jīng)是常識了
Java程序的運行和exe文件的運行是相似的,Java程序會先編譯成類文件,然后將類文件送到JVM中運行。JVM在操作系統(tǒng)上運行。JVM就像Java程序和操作系統(tǒng)之間的轉(zhuǎn)換器,將Java代碼翻譯成操作系統(tǒng)來執(zhí)行。
同時,由于Java程序在虛擬機上運行,所以虛擬機可以處理Java程序,比如內(nèi)存回收。在虛擬機中,內(nèi)存又分為堆、棧、方法區(qū)等,便于堆內(nèi)存管理
與Java類似,所有解釋語言都不能直接與操作系統(tǒng)通信,中間還有一個翻譯器的角色,如python、PHP等