什么是锁? 在并发环境中,多个线程争抢同一个公共资源,可能会导致数据不一致的问题,所以引入了锁机制。通过一种抽象的锁对资源进行锁定。 Java内存结构 在Java中每个对象都拥有一把锁,存放在对象头中,锁中记录着当前对象被那个线程占用 对象的结构包括对象头(运行时信息包括Mark Word(当前对象运行时状态有关的数据)和Class Pointer(指向当前对象类型所在方法区中的类型数据)),实例数据(初始化时设置的属性和状态),填充字节(满足Java对象的大小必须是8比特的倍数) Mark Word非常小,只有32bit。并且是非结构化的&