存儲(chǔ)布局
-
markword
對(duì)象頭 8字節(jié)。標(biāo)識(shí)著頭對(duì)象的狀態(tài)略贮,被回收多少次 -
class pointer
-XX:+UseCompressedClassPointers 為4字節(jié),不開啟為8字節(jié)
T t = new T() t里面的class pointer指向t.class
.class文件被ClassLoader加載到內(nèi)存空間的時(shí)候會(huì)為每個(gè).class生成一個(gè)對(duì)象
通常來說一個(gè).class文件只會(huì)被一個(gè)ClassLoader加載
-
instance data
成員變量
-XX:+UseCompressedOops 為4字節(jié)仗岖,不開啟為8字節(jié)
Ordinary Object Pointer 引用類型 -
padding
8的倍數(shù)逃延。數(shù)據(jù)是一塊一塊讀取的,所以需要對(duì)齊轧拄。
JVM常用參數(shù)
64位系統(tǒng)指針默認(rèn)是64bit
工具:JOL = Java Object Layout
Object o = new Object();
System.out.println(ClassLayout.parseIntance(o).toPrintable());