- 棧:Person對象引用
- 堆:person實例對象,Person.class信息
person實例對象:
1)mark word:對象頭,存放實例摘要信息,比如該對象的鎖信息、hash值、線程信息等;
2)kclass元數據類型指針,指向Person類型元數據的指針;
3)實例數據:對象的各種成員變量值。
Person.class信息
Person.class類的信息,方法、字段信息。 - 老生代:Person類型元數據
1)mark word:類型頭,比如人類的鎖信息;
2)kclass元數據類型指針:指向Person類型的類型指針;
3)java mirror:Person.class類的鏡像信息。
反射機制
- Person對象指針,先得到Person對象存儲
- 根據Person對象的kclass元數據類型指針獲取到Person類型元數據
- 根據 Person類型元數據中的java mirror得到Person.class類的信息