龙空技术网

Java对象头中的Mark Word

小七随笔 100

前言:

目前朋友们对“mark world java”可能比较关怀,姐妹们都想要学习一些“mark world java”的相关内容。那么小编也在网上搜集了一些有关“mark world java””的相关文章,希望兄弟们能喜欢,姐妹们一起来了解一下吧!

Mark Word记录了对象和锁有关的信息,当这个对象被synchronized关键字当成同步锁时,围绕这个锁的一系列操作都和Mark Word有关。

Mark Word在32位JVM中的长度是32bit,在64位JVM中长度是64bit。

Mark Word在不同的锁状态下存储的内容不同,在32位JVM中是这么存的:

其中无锁和偏向锁的锁标志位都是01,只是在前面的1bit区分了这是无锁状态还是偏向锁状态。

JDK1.6以后的版本在处理同步锁时存在锁升级的概念,JVM对于同步锁的处理是从偏向锁开始的,随着竞争越来越激烈,处理方式从偏向锁升级到轻量级锁,最终升级到重量级锁。

标签: #mark world java