理解单例模式
首先我们来对单例模式的概念了解一下。
单例模式:对象单例设计,就是设计类时保证类的实例在内存中只有一份。
实现方式有:
1)内部设计实现(对类自身进行设计)
2)外部设计实现(对类的对象提供一种池)
那么我们 要思考的是:如何保证类的设计在内存中只有一份类的实例?
下面我们介绍几种模式:
一:懒汉模式
懒汉模式-1:
缺陷:线程不安全的单例设计(适用单线程)
``java`
class Singleton01{
//构造方法私有化,不允许外界直接构建对象
private Singleton01() {
System.out.println("Singleton01()");
}
private static Singleton01 instance;
public static Singleton01 getInstance() {
if(instance == null) {
instance = new Singleton01();
}
return instance;
}
}
此类的设计存在线程不安全?
思考:导致线程不安全的原因:
1):多个线程并发执行
2):多个线程有共享数据集
3):多个