一、什么是单例设计模式
单例设计模式的定义是只有一个类,并且提供一个全局访问点。
二、适用于那些场景
一个对象即可完成所有工作,无需大量创建对象消耗资源。比如一个长连接,建立起来就不断的发送数据,如果每一个请求都创建一个链接,资源很快就被消耗殆尽。
三、有什么特点
只有一个实例
自我实例化
提供一个全局访问点
四、单例模式的优缺点
优点:由于单例模式只生成了一个实例,所以能够节约系统资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。
缺点:也正是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽象类,这样扩展起来有一定的困难
五、如何创建
方法一 饿汉模式
使用静态常量,在单例类加载的时候就创建了,常见代码如下:
classSingleton1 {//类内部创建实例
private static Singleton1 instance=newSingleton1();//构造方法私有化,防止通过new方式 创建私立
privateSingleton1(){}//对外提供全局同用的唯一调用方法
public staticSingleton1 getInstance(){returninstance;
}
}
这种方式优点缺点都很明显,
优点:类加载的时候实例化,防止对线程同时访问问题。
缺点:类加载时候就实例化,如果