對(duì)象的訪問(wèn)方式由虛擬機(jī)的實(shí)現(xiàn)而定,目前最主流的訪問(wèn)方式有句柄和直接指針兩種
注:以下變量引用就是本地變量表(在jvm虛擬機(jī)棧中)中的reference引用
1、句柄
jvm堆中會(huì)有一塊內(nèi)存作為句柄池,變量引用的地址就是對(duì)象在句柄池中的句柄地址。
好處:
變量引用的地址將是穩(wěn)定的句柄地址,當(dāng)對(duì)象在移動(dòng)時(shí),只會(huì)改變句柄池中的實(shí)例數(shù)據(jù)指針,而變量引用的地址不會(huì)修改。
2、直接指針
變量引用的地址就是對(duì)象在堆中的地址。
好處:
速度會(huì)更快,因?yàn)樗?jié)省了一次指針定位的時(shí)間開(kāi)銷。