本文总结自: https://blog.csdn.net/luckey_zh/article/details/53815694

互斥锁: 若对象有互斥锁,则在任一时刻,只能有一个线程访问对象。类锁、对象锁都属于对象监视器,而对象监视器是基于互斥锁的。

对象监视器,详见: https://www.cnblogs.com/yanze/p/9774388.html

类锁、对象锁层次: java层次

类锁即锁住了类,对象锁即锁住实例对象

synchronized使用场景分以下几种:

1. 一般方法

对象锁,锁住当前对象

2. 静态方法

类锁,锁住此类

3. synchronized(object)

锁住object,object可为对象,可为类

常见:

synchronized(this)

对象锁

synchronized(*.class)

类锁

锁的本质:

逻辑上来说,锁其实是对象内存堆中头部的一部分数据。当线程获得一个锁,即是在锁内存区域设置一些标志。线程释放锁也是改变这些标记。

最新文章

  1. First commit
  2. JPA mysql wildfly jboss 存储时乱码
  3. 针对跑MySQL的Linux优化【转】
  4. Nexus4_文件名乱码
  5. 纯干货,Spring-data-jpa详解,全方位介绍
  6. 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现[转]
  7. js之form表单的获取
  8. autoit 处理文件上传弹出框,并在JAVA中调用
  9. ajax学习之post请求步骤
  10. Java多线程Future模式
  11. Android调试错误-No resource identifier found for attribute 'showAsAction'
  12. Chrome Stylist 插件 (CSS备份)
  13. Linux 学习笔记_12_文件共享服务_4_SSH
  14. Load balancer does not have available server for client
  15. input输入框只能输入正整数、字母、小数、汉字
  16. SQL Server 数据导入Mysql具体教程
  17. JVM体系结构概述
  18. c#中打开Excel文档
  19. nodeJs--模块module.exports与实例化方法
  20. 排序算法--冒泡排序(Bubble Sort)_C#程序实现

热门文章

  1. 学习php必须要了解的一些知识
  2. Yii2 Queue队列
  3. Java手记
  4. Linux重启与关机命令
  5. IOS时间与日期处理
  6. log4j分级别打印和如何配置多个Logger
  7. ubuntu虚拟化平台libvrit-bin
  8. L - Points on Cycle(旋转公式)
  9. 关于org.apache.shiro.SecurityUtils.getSubject().getSession()
  10. Git中如何将代码恢复到之前某个节点