我在 Java 中实现单例模式时提出了这个问题。尽管下面列出的示例不是我的真实代码,但与原始代码非常相似。
public class ConnectionFactory{
private static ConnectionFactory instance;
public static synchronized ConnectionFactory getInstance(){
if( instance == null ){
instance = new ConnectionFactory();
}
return instance;
}
private ConnectionFactory(){
// private constructor implementation
}
}
因为我不太确定静态同步方法的行为,所以我从谷歌得到了一些建议——在同一个类中不要(或尽可能少)多个静态同步方法。我猜在实现静态同步方法时,使用了属于 Class 对象的锁,因此多个静态同步方法可能会降低系统性能。
我对吗?还是JVM使用其他机制来实现静态同步方法?如果我必须在一个类中实现多个静态同步方法,最佳实践是什么?
谢谢你们!
亲切的问候!