1.Java對象內存模型
1.首先一個對象,包含三塊:對象頭,實例數據和對齊補充的數據;
1.1.對象頭
1.2.實力數據
1.3.對齊補充的數據
2.方法區指向堆
1.我們知道,方法區主要是存儲的信息如下:
1.1.類的結構信息:----->靜態存儲結構
1.2.常量,靜態變量
2.private static Object obj=new Object();
這個很顯然,obj是屬於方法區的,但是同時new Object()對象是在堆中的,因此出現了方法區指向了堆的情況;
3.堆指向方法區
1.我們知道,方法區主要是存儲的信息如下:
1.1.類的結構信息:----->靜態存儲結構
1.2.常量,靜態變量
2.從上面我們知道Java對象的頭信息中會保存指向元對象的內存地址;
private static Object obj=new Object();
這個new Object()在堆中,但是具體創建對象的類結構都在方法區,也就說,new Object()同時也是指向了方法區