圖靈Java高級(jí)開發(fā)工程師
加載:類加載階段是由類加載器根據(jù)類文件全限定類名,來讀取這個(gè)類文件的二進(jìn)制字節(jié)流到JVM中,并存儲(chǔ)在內(nèi)存的方法區(qū)中,然后將其裝換為一個(gè)對(duì)應(yīng)的java.lang.Object對(duì)象實(shí)例。
驗(yàn)證:驗(yàn)證是否符合class文件規(guī)范;檢查final類是否有子類;檢查final方法是否被子類重寫;檢查父類和子類聲明方法是否兼容等。
準(zhǔn)備:為類中static變量分配內(nèi)存空間并初始化;被final修飾的靜態(tài)變量會(huì)直接賦予原值。
解析:將常量池中所有符號(hào)引用轉(zhuǎn)換為直接飲用,得到類、字段或者方法在內(nèi)存中的指針或偏移量,以便直接調(diào)用。
初始化:賦值static變量,執(zhí)行static塊;先初始化父類再初始化子類。
雙親委派:當(dāng)某個(gè)類加載器需要加載類文件時(shí),會(huì)首先把這個(gè)任務(wù)委托給他的上級(jí)類加載器,遞歸這個(gè)操作。如果上級(jí)的類加載器無法加載時(shí),將這個(gè)任務(wù)退回給下一級(jí)類加載器。判斷任何一級(jí)加載器加載過類文件直接返回。作用是保證每個(gè)類文件只被加載一次。
標(biāo)簽: