单例模式的特征
1、构造方法必须私有
private Test(){
}
2、创建该类对象时,必须私有化且设置静态
(饿汉式) private static Test t1 = new Test();
(懒汉式) private static Test t1 = null;
3、用静态公有方法把类的静态实例返回()
public static Test getInstance(){
(懒汉式, 要附加判断进行对象实例后才先返回)
if(t1==null){
t1 = new Test();
}
(饿汉式,因为在类加载完后立刻实例化对象 所以直接返回实例对象)
return t1;
}
饿汉式:速度快,但占的内存空间少,线程安全
懒汉式:速度慢,但占的内存空间多,线程不安全(但实际开发中,思考多是空间大于速度多一些,用懒汉式较多)
单例模式使用场景
1、创建对象时占用资源过多,但同时又需要用到该类对象。
2、对系统内资源要求统一读写,如读写配置信息。
3、当多个实例存在可能引起程序逻辑错误,如号码生成器。
个人理解
单例模式就是把一个类封装成一个模块给其他类调用,这样会节省重复的去实例化业务简单的对象
感谢观看。写的不详细,麻烦大神指点,不动粗语。谢谢