老码农的祖传干货:如何解决Java的并发编程?

时间:2023-02-14 16:09:42

作者:京东零售 刘跃明

Monitor概念

Java对象的内存布局

对象除了我们自定义的一些属性外,还有其它数据,在内存中可以分为三个区域:对象头、实例数据、对齐填充,这三个区域组成起来才是一个完整的对象。

对象头:在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。

实例数据:存放类的属性数据信息,包括父类的属性信息。

对齐填充:由于虚拟机要求对象其实地址必须是8字节的整数倍,需要存在填充区域以满足8字节的整数倍,填充数据不是必须存在的,仅仅是为了字节对齐。



老码农的祖传干货:如何解决Java的并发编程?