JDK成长记16:从0分析你不知道的synchronized底层原理(下)
上一节你了解了什么是CAS、synchronized形成的锁的类型、重量级锁是用户态进程向内核态申请资源加锁过程,HotSpot Java对象结构,以及初步从3个层面分析了下synchronized的核心流程。还记得核心流程图么?
如下所示:
这一节我们仔细来分析下这个过程中,每一步的底层原理。我们需要用到一个工具包,JOL,它可以将java对象的信息打印出来。你可以通过这个工具分析升级过程中锁的标记变化。
上一节你了解了什么是CAS、synchronized形成的锁的类型、重量级锁是用户态进程向内核态申请资源加锁过程,HotSpot Java对象结构,以及初步从3个层面分析了下synchronized的核心流程。还记得核心流程图么?
如下所示:
这一节我们仔细来分析下这个过程中,每一步的底层原理。我们需要用到一个工具包,JOL,它可以将java对象的信息打印出来。你可以通过这个工具分析升级过程中锁的标记变化。