JAVA锁机制(一)

1、什么是锁

        在并发环境下,多个线程对同一个资源进行争抢,可能会导致数据不一致的问题,为了解决这个问题,很多编程语言都引入了锁机制。通过一种抽象的锁来对资源进行锁定。

2、对象的组成

        每个对象都有一把锁,这把锁存放在对象头中。这就得说到对象的结构了,对象由对象头、实例数据和填充字节组成(如图),对齐填充字节是为了满足“Java对象的大小必须是8比特的倍数”这一条街设计的,实际上是一些无用字节。

对象头就是锁机制中比较重要的部分了,对象头分为Mark Word和Class Point。

        Class Point就是一个指针,它指向了当前对象类型所在方法区中的类型数据。

        Mark Word存储了很多和当前对象运行时状态有关的数据。比如说:hashcode、锁状态标志、指向所记录的指针等等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值