个人简述:
单例模式分两种,分别是懒汉式和饿汉式。其中懒汉式即为当被需要时再创建对象,而饿汉式则为一开始就创建好对象,有需求是就给他。其中懒汉式需要考虑线程安全问题,但是懒汉式相比于饿汉式更加节约空间。而饿汉式由于一开始就创建好对象,消耗更多空间,但是无需考虑线程安全。
单例模式实现核心点:
实现单例模式的核心就是禁止外部类构造对象,只允许外部类使用内部已经创建好的对象。代码中我们将构造方法私有化即可!
懒汉式:
public class Singleton { private static Singleton instance; private Singleton (){} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
饿汉式:
public class Singleton { private static Singleton instance = new Singleton(); private Singleton (){} public static Singleton getInstance() { return instance; } }