我有一堂课是下面的一堂课..
public class DataBaseDAO {
private DataBaseDAO() { }
public static synchronized DataBaseDAO getInstance() {
if (dao == null) {
dao = new DataBaseDAO();
}
return dao;
}
}
}
现在这个 getinstance() 方法可以被破解:换句话说,这个单例可以被破解并且可以创建更多对象。
我怎样才能保证这个安全?
这可以通过反射、类加载器和反序列化来解决。
我应该选择同步块而不是对整个方法进行同步吗?
会对性能产生影响吗?
谢谢大家,实际上我不想引入新的枚举,因为在现有的结构中会发生很多变化,我正在寻找如何用当前的方法在类本身内改进现有的单例..!!