目录
1.单例模式
单例模式是一种设计模式。单例模式能保证某个类在程序中只存在唯⼀⼀份实例, ⽽不会创建出多个实例.
举例:
package 多线程;
import javax.management.MBeanAttributeInfo;
//就期望这个线程只有一个实例
class Singleton{
private static Singleton instance = new Singleton();//类一被启动就会初始化这个静态成员,实例创建的非常早
public static Singleton getInstance(){
return instance;
}
private Singleton(){}
}
public class ThreadDemo21 {
public static void main(String[] args) {
Singleton s = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s == s2);
}
}
私有的构造函数确保其他类无法通过直接实例化来创建 Singleton 的对象。而静态的 instance 成员变量在类加载时就被初始化,因此在整个程序中只会有一个 Singleton 的实例。我们用getInstance方法获取到实例,并赋值给s和s2,最后我们通过比较发现是同一个实例