JVM - 阴间玩意集锦

一个Java空对象占多少字节?

首先我们需要知道java的对象都在堆区(死杠精和我说在什么鸟屎栈什么逃逸分析,你家对象不传出方法是吧?)

  • 对象头(GC状态,类型,布局什么的信息)

由mark word(8字节)和klass pointer(4字节,如果没开指针压缩就是8字节)组成

  • 对象数据(空的)

众所周知他们喜欢8字节对齐访问,所以说会有点padding,8+4+4(padding)=16字节