Java同步锁Synchronized底层源码和原理剖析

目录

  • 1 synchronized场景回顾
  • 2 反汇编寻找锁实现原理
  • 3 synchronized虚拟机源码
    • 3.1 HotSpot源码Monitor生成
    • 3.2 HotSpot源码之Monitor竞争
    • 3.3 HotSpot源码之Monitor等待
    • 3.4 HotSpot源码之Monitor释放


1 synchronized场景回顾

目标:
synchronized回顾(锁分类–>多线程)
概念
synchronized:是Java中的关键字,是一种同步锁。
Java中锁分为以下几种:
乐观锁、悲观锁(syn)
独享锁(syn)、共享锁
公平锁、非公平锁(syn)
互斥锁(syn)、读写锁
可重入锁(syn)
分段锁
synchronized JDK1.6锁升级(无锁 -> 偏向锁 (非锁)-> 轻量级锁 -> 重量级锁(1.6前都是)【面试常问】
tips:
为什么用到锁?大家肯定会想到多线程࿰

你可能感兴趣的:(architect,java,java,开发语言,面试,锁)