老男孩微服務(wù)&云原生運(yùn)維架構(gòu)師第七期\/--》1310079160
方法的內(nèi)存分配與變化
方法只定義不調(diào)用是不會(huì)執(zhí)行的,并且在JVM中也不會(huì)給方法分配“運(yùn)行所屬”的內(nèi)存空間,只有在調(diào)用方法時(shí)才會(huì)動(dòng)態(tài)的給這個(gè)方法分配所屬的內(nèi)存空間
JVM內(nèi)存劃分上有這三塊主要的內(nèi)存空間:方法區(qū)內(nèi)存、棧內(nèi)存、堆內(nèi)存
方法代碼片段屬于.class字節(jié)碼文件的一部分,字節(jié)碼文件在類(lèi)加載的時(shí)候被放到了方法區(qū)當(dāng)中,所以JVM中的三塊主要的內(nèi)存空間中方法區(qū)內(nèi)存最先有數(shù)據(jù)——方法代碼片段
棧內(nèi)存中分配方法運(yùn)行的所屬內(nèi)存空間
方法在調(diào)用的瞬間,給該方法分配內(nèi)存空間,在棧中發(fā)生壓棧動(dòng)作,方法調(diào)用結(jié)束之后,給該方法分配的內(nèi)存空間全部釋放,此時(shí)發(fā)生彈棧動(dòng)作
標(biāo)簽: