java對象的內存佈局 以及 對象訪問定位方法

在HotSpot虛擬機中,對象在內存區域(java堆中)可分爲三塊區域----:

          1   Header(對象頭),包括兩部分,第一部分用來存儲自身的運行時數據,如hashcode、GC年齡分代。。。;java

                                                                 第二部分是類型指針,指向本身的元數據,即所屬類,經過這個屬性能夠肯定屬於哪一個類指針

          2   接下來是存儲真正的信息部分,各類類型字段的內容code

          3    第三部分是用來補齊的,要求對象大小必須是8字節的整數倍對象

 

對象訪問的定位

           句柄方式: 兩次指針定位實現到真正對象實例數據(實例)和類型數據的指針(Class)

 

                 

 

直接引用方式:省去一次指針定位

相關文章
相關標籤/搜索