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
}
}
静的同期メソッドの動作についてはよくわからないため、Google からいくつかの提案を得ています。同じクラスに複数の静的同期メソッドを持たない (またはできるだけ少なくする) ことです。静的同期メソッドを実装する場合、複数の静的同期メソッドがシステムのパフォーマンスを低下させる可能性があるため、クラス オブジェクトに属するロックが使用されると思います。
私は正しいですか?またはJVMは他のメカニズムを使用して静的同期メソッドを実装しますか? クラスに複数の静的同期メソッドを実装する必要がある場合のベスト プラクティスは何ですか?
皆さん、ありがとうございました!
敬具!