从字节码角度分析synchronized实现

从字节码角度分析synchronized实现

 

  • javap -c(v附加信息) ***.class 文件反编译
  • synchronized同步代码块
  •  

    • 实现使用的是monitorenter和monitorexit指令
    • ImageImage
  • synchronized普通同步方法
  •  

    • 调用指令将会检查方法的ACC_SYNCHRONIZED访问标志是否被设置,如果设置了,执行线程会将现持有monitor锁,然后再执行该方法,最后在方法完成(无论是否正常结束)时释放monitor
    • Image
  • synchronized静态同步方法
  •  

    • ACC_STATIC、ACC_SYNCHRONIZED访问标志区分该方法是否是静态同步方法
    • Image
posted @ 2025-10-13 11:38  扛着音响去化缘  阅读(6)  评论(0)    收藏  举报
Sakana Widget右下角定位