在实际开发过程中,我们希望一个类只能实话一个对象;就需要用到单例模式,单例就是把构造器私有化,通过虚构方法去获取一个实例的过程。
1.懒汉式:在需要对象的时候采取创建的对象
public class LazySingleton { private volatile static LazySingleton singleton; /** * 构造器私有化 */ private LazySingleton(){}; public static LazySingleton getInstance(){ if (singleton==null){ synchronized (LazySingleton.class){ if (singleton == null){ singleton = new LazySingleton(); } } } return singleton; } }
2.饿汉式:初始化时就创建好对象
public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){ } public static Singleton getInstance(){ return instance; } }