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