问:

对象都是怎么顶的

答:
堆顶对象在内存中主要有三块区域:
1. 对象头:包含哈希码、GC分代年龄、锁状态标志等信息
2. 实例数据:包含对象的各个字段数据
3. 对齐填充:用于补齐区域大小,使其符合虚拟机 Memory Alignment 要求
所以,对象主要依靠栈和堆两个区域来实现顶y_,栈中通过引用来指向堆中的对象,堆中的对象包含对象头和实例数据两大部分。堆顶对象的数据需要等待垃圾回收后才会被释放。