1、編譯執(zhí)行,編譯程序工作時(shí),先分析,后綜合,從而得到目標(biāo)程序。所謂分析,是指詞法分析和語(yǔ)法分析;所謂綜合是指代碼優(yōu)化,存儲(chǔ)分配和代碼生成。為了完成這些分析綜合任務(wù),編譯程序采用對(duì)源程序進(jìn)行多次掃描的辦法,每次掃描集中完成一項(xiàng)或幾項(xiàng)任務(wù),也有一項(xiàng)任務(wù)分散到幾次掃描去完成的。
2、解釋執(zhí)行,它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來(lái)解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過(guò),每次的編譯執(zhí)行需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效率。