對象的內存分佈

https://segmentfault.com/a/1190000007652363 值得一看segmentfault

對象的內存佈局

虛擬機中,對象在內存中的佈局劃分爲3個區域:對象頭,實例數據以及對齊填充。數組

對象頭佈局

通常包含兩部分信息,第一部分用於存儲對象自身的運行時數據,例如HashCodeGC分代年齡等信息。另外一部分用於存儲對象的類型指針,該指針指向它的類元數據,JVM經過這個指針肯定對象是哪一個類的實例。以前提到對象頭通常包含兩部分信息,這是由於若是對象是一個數組,那麼對象頭還須要有額外的空間用於存儲數組的長度。spa

實例數據

實例數據部分是對象真正存儲有效信息的區域,存儲了代碼中定義的各類字段的內容,包括從父類繼承下來的字段和子類中定義的字段。指針

 

對齊填充

對齊填充這部分不是必須存在的,這部分僅僅是起着佔位符的做用。code

相關文章
相關標籤/搜索