一. 单例模式
概念:保证一个类只有一个实例化对象,并提供一个访问它的全局访问点。
优点:
1.严格控制客户怎么访问,如何访问,对唯一实例受控访问。
2.在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例,避免对资源的多重占用。
缺点:
1.没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
例子: 一个操作系统只能有一个文件系统!
package singleton;
/**
* 双重检测
* @author liucong8
*/
public class Singleton {
private static volatile Singleton singleton;
private Singleton() {}
public static Singleton getInstance() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}
单例模式比较容易理解,不过多写了,这篇文章就介绍的很全:https://www.cnblogs.com/restartyang/articles/7770856.html