首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java中的轻量级

在我们介绍轻量级锁之前,我们先来了解一下在虚拟机底层锁是怎么实现的。在其它文章中我们已经介绍过了,虚拟机对象头主要存储了两部分信息。一部分用于存储指向方法区对象类型数据的指针。...Mark Word是虚拟机底层实现轻量级锁和偏向锁的关键。下图为Mark Word中所包括的基本属性。 下面我们来分析一下在程序执行时Mark Word都会有哪些变化。...如果更新成功,那么这个线程就获取了该对象的锁,并且将象Mark Word的锁标志位修改为00,这时该线程获取的锁就是轻量级锁。此时线程堆栈与对象头信息如下。 ?...如果有两个以上的线程在争用同一个锁时,那么虚拟机会将轻量级锁膨胀为重量级锁,并将锁标志的状态值修改为10,Mark Word中存储的锁指针就会修改为重量级锁的指针,后面等待获得锁的线程就要进入阻塞状态。

1.3K20
领券