关于同步方法的一个疑问

public class A
{
public static synchronized void b(){}

public static synchronized void c(){}

public static void d(){}
}

当A的实例被引用,就是客户程序使用A时,
A.b(),A.c(),A.d()
当A.b()被调用时,A.c()显然不能被调用。
那么这时A.d()可以被其它进程调用吗?

如果这3个方法不是静态方法,没有static参数。
对同一个实例和对于不同实例,
上面的结果有没有不同,
就是A a1 = new A(),A a2 = new A(),
当调用a1.b(),和a2.c()有没有冲突?
当调用a1.b(),和a1.d()有没有冲突?

我对线程和同步不太掌握,希望大家邦我澄清一下。

(1)静态方法只能对方法同步,而与实例无关,所以在同一时间内对b的调用不会阻塞c,但在同一时间多个线程不能同时访问访问同一个静态方法。
(2)如果对于非静态方法而言,同步是针对对象实例的,所以不同实例之间不存在同步问题。