1. synchronized的三种使用场景
1.使用synchronized 修饰代码块(可给人以对象进行加锁)
2.使用synchronized 来修饰静态方法(对当前的类进行加锁)
3.使用sychronized 来修饰普通方法(对当前类实例进行加锁)
2.有关synchronized的内容
重点:
1.锁存放的地方:对象头。
2.锁信息 monitor。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210429215203219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MTIzMjE3,size_16,color_FFFFFF,t_70#pic_center)
3.synchronized实现分为
1.操作系统层面,依赖互斥锁mutex
2.针对JVM,monitor实现
3.针对java语言来说,是将锁信息存放在对象头(标识,标识锁状态/suo的拥有者)
4.lock手动锁