參考博文:
http://blog.csdn.net/kai_wei_zhang/article/details/8239537
算是對(duì)他的一點(diǎn)點(diǎn)補(bǔ)充先改。
object obj = new Object();
中“Object obj”這部分的語(yǔ)義會(huì)映射到Java棧的本地變量表中,作為一個(gè)reference類(lèi)型的數(shù)據(jù)出現(xiàn)誉察。
而“new Object()”會(huì)反應(yīng)到j(luò)ava的堆中。
類(lèi)與對(duì)象的存儲(chǔ)
- 實(shí)例數(shù)據(jù)值:對(duì)象中各個(gè)實(shí)例字段的數(shù)據(jù)唧喉。
這部分存儲(chǔ)在堆中困檩。 - 對(duì)象類(lèi)型數(shù)據(jù):對(duì)象類(lèi)型绳锅,父類(lèi)仇让,實(shí)現(xiàn)的接口典奉,方法等等
這些類(lèi)型數(shù)據(jù)存儲(chǔ)在方法區(qū)中。
句柄訪(fǎng)問(wèn)方式
句柄訪(fǎng)問(wèn)方式
在GC時(shí)丧叽,只需要?jiǎng)h除到對(duì)象實(shí)例數(shù)據(jù)的指針即可卫玖,reference不用發(fā)生變化
直接指針訪(fǎng)問(wèn)方式
直接指針訪(fǎng)問(wèn)方式
直接指針訪(fǎng)問(wèn)方式的好處是速度快,節(jié)省了一次指針定位的事件開(kāi)銷(xiāo)踊淳。
但是在GC是reference會(huì)發(fā)生變化假瞬。、