导航菜单

一文让你读懂Synchronized底层实现,秒杀面试官

本系列文章将全面分析HotSpot的同步锁实现,包括偏置锁定,轻量级锁定,重量级锁定锁定,解锁,锁定升级过程和源代码分析,希望能给学生在同步路上提供一些帮助。

本文分为两部分:

1.轻量级锁定获取过程

2.轻量级锁定释放过程

我看到的JVM版本是jdk8u。

轻量级锁获取流程

让我们开始轻量级锁获取过程分析,代码在bytecodeInterpreter.cpp#1816中。

在该方法中,首先判断它是否是轻量级锁。如果它是轻量级锁,它将替换标记字。否则,它将扩展为重量级锁并调用exit方法。相关的逻辑将在重量级锁的文章中解释。

欢迎做Java的朋友们私信我【资料】免费获取免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

其中覆盖了互联网的方方面面,期间碰到各种产品各种场景下的各种问题,很值得大家借鉴和学习,扩展自己的技术广度和知识面。