在HotSpot虛擬機中,對象在內存中存儲的佈局可分爲三個部分:佈局
對象頭包括兩個部分:線程
- 第一部分用於存儲對象自身的運行時數據,
- 如哈希碼、GC分代年齡、線程所持有的鎖等。
- 官方稱之爲「Mark Word」。
- 第二個部分爲是類型指針,
- 即對象指向它的類元數據的指針,
- 虛擬機經過這個指針來肯定這個對象是哪一個類的實例。
實例數據是對象真正存儲的有效信息,指針
對齊填充並非必然存在的,僅僅起着佔位符的做用。對象
- Hotpot VM要求對象起始地址必須是8字節的整數倍,
- 因此當實例數據部分沒有對齊時,須要經過對齊填充來對齊。