私は以下のクラスを1つ持っています..
public class DataBaseDAO {
private DataBaseDAO() { }
public static synchronized DataBaseDAO getInstance() {
if (dao == null) {
dao = new DataBaseDAO();
}
return dao;
}
}
}
この getinstance() メソッドをハッキングできるようになりました。つまり、このシングルトンをハッキングして、より多くのオブジェクトを作成することができます。
これを安全にするにはどうすればよいですか?
これは、リフレクション、クラスローダー、デシリアライゼーションによって破ることができます。
メソッド全体に同期を設定するのではなく、同期ブロックを使用する必要がありますか?
パフォーマンスに影響を与えますか?
ありがとう、実際には新しい列挙型を導入したくありません。既存の構造では多くの変更が行われるためです。クラス自体の現在のアプローチで既存のシングルトンを改善する方法を探していました..!!