对于普通对象来说,由四部分组成:markword、classpointer,instance data,padding
markword和class pointer称为对象头-----8个byte
class pointer指的是该对象属于哪个类,是object吗---4个byte
class pointer本身是8个字节,但jvm默认开启了压缩,所以变成4个字节
instance data指的是对象具体的值
padding,必须能让8整除,否则就会补齐(不知道原因)

image.png
问题:object o=new object();在内存中占几个字节?
object类没有instance data,所以只有8个byte的markword和4个byte的class pointer,以及为了让8整除的padding

image.png