1. 程式人生 > >物件的訪問定位

物件的訪問定位

目前主流的訪問方式有使用控制代碼和直接指標兩種方式。

控制代碼訪問:Java堆中將會劃分出一塊記憶體來作為控制代碼池,reference中儲存的就是物件的控制代碼地址,而控制代碼中包含了物件例項資料與型別資料各自的具體地址資訊。

直接指標訪問:reference中儲存的直接就是物件地址

兩種方式對比:

使用控制代碼來訪問最大的好處就是reference中儲存的就是穩定的控制代碼地址,在物件被移動(垃圾收集時移動物件是非常普遍的行為)時只會改變控制代碼中的例項資料指標,而reference不需要修改。

而使用直接指標訪問方式最大的好處就是速度快,它節省了一次指標定位的時間開銷,由於物件的訪問在Java中非常頻繁,因此這類開銷極少成多後也是一項非常可觀的執行成本。

                                   摘抄自《深入理解Java虛擬機器:JVM高階特性與最佳實踐》(第二版) 周志明著