【笔记】关于synchronized关键字的底层原理之我流理解(未完)
java中 每个类都有一个关联的class对象
这个class对象是jvm在类加载时创建的 表示类的元数据
用synchronized修饰 静态方法(static) 或者 synchronized(类名.class) 这就是在给class对象加锁 这样叫做类锁
这就是类锁
1.synchronized修饰静态方法
public static synchronized void increment()
2.synchronized(类名.class)
public static void incrementWithBlock() {
synchronized (StaticCounter.class) {
}}
类锁的作用域是整个类 即 无论创建多少个类的实例 它们共享同一把类锁
当一个线程持有类锁时 其他线程无法访问该类任何静态方法和同步代码块