JVM(三)——對象的訪問定位
創建完對象,到了使用對象的時候,通常聲明一個同類型的引用指向該類型的對象,由這個引用來操作對象的字段、方法等。
Object obj = new Object();復制代碼
我們的Java程序需要通過棧上的 reference 數據來操作堆上的具體對象,目前主流的訪問方式有使用句柄和直接指針兩種,我更青睞于后者,或者說基本只使用后者,那么,我簡要介紹一下如何通過直接指針訪問對象。
采用直接指針訪問,那么Java堆對象的布局中就必須考慮如何放置訪問類型數據的相關信息,而 reference 中存儲的直接就是對象地址,如圖篇首。
使用這種方式的最大好處就是速度更快。就虛擬機 Sun HotSpot 而言,它是使用了直接指針訪問方式記性對象訪問。