单例模式的优点 只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等
单例模式的缺点 就是不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。
饿汉式(立即加载)
public class SingleUtils {
private SingleUtils singleUtils = new SingleUtils();
private SingleUtils(){}
public SingleUtils getSingleUtils() {
return singleUtils;
}
};
懒汉式(安全判断延迟加载)
public class SingleHun {
private static SingleHun singleHun = null;
private SingleHun() {}
public static SingleHun getSingleUtils() {
if(singleHun == null){
singleHun = new SingleHun();
}
return singleHun;
}
}
担心安全可以加 synchronized