单例模式
1、简单介绍
一般应用于只需要有一个实例存在的场景,比如各种Manager 各种factory等,例如控制项目加载配置信息的对象propertiesManager等,数据库连接管理的类等
单例的实现方式基本上就是,将构造方法设成私有的,类中创建一个静态的私有的当前对象的成员变量,提供一个静态的公共的获取对象的方法,由该方法获取并返回私有的成员变量,下面的不同的实现方法主要体现在私有成员的初始化时机上。
单例有饿汉式和懒汉式,饿汉式,即类加载的时候就初始化成员对象,懒汉式则是在第一次使用的时候初始化。
2、几种实现单例的方式
2.1、定义私有化成员的时候,直接初始化对象(饿汉式)
public class Singleton01 {
private static Singleton01 instance = new Singleton01();
private Singleton01(){
}
public static Singleton01 getInstance(){
return instance;
}
}
2.2、在静态代码块中初始化成员对象(效果同上)
public class Singleton02