#单例模式
单例就是在整个程序生命周期中,任何一个时刻,单例类的实例只能存在一个,并自行实例化,并向整个系统提供这个实例的单例模式
#单例模式与全局变量的差别
1、全局变量无法保证实例只存在一个
2、编码规范限制使用全局变量的个数
3、全局变量无法实现继承
单例模式必须存储自己唯一的一个实例,构造器必须私有,并提供一个访问这个唯一实例的全局访问点
demo:
public class Demo{
private Demo(){}
private static Demo demo = new Demo();
public static Demo getDemo(){
return demo;
}
}
这种方式的单例在类被加载时就会实例化一个对象,使用前对象已经创建好,可以多线程使用。对按需实例的单例,则要考虑线程同步。