静态同步方法上的锁会影响它的实例的非静态同步方法吗?

Does the lock on a static synchronized method affect the non-static synchronized methods of it's instances?

假设我有 2 个方法,一个声明为 synchronized,另一个声明为 static synchronized。 那么当一个线程获得class级锁时,它是否也获得了它所有实例的锁?换句话说,如果一个线程获得了 class 级锁,另一个线程是否可以同时在其实例之一上获得对象级锁?

static synchronized 方法将为 class 获取 Class 实例上的锁。 synchronized 方法将获取 this 上的锁。当调用同步静态方法获取class级锁时,object-level级锁不受影响。