1 单例模式
概述:使得一个类的对象成为系统中的唯一实例。
具体实现:
构造函数私有化
限制实例的个数
-
懒汉式(时间换空间)
-
public class Singleton2 { public static Singleton2 singleton2; private Singleton2(){} public static Singleton2 getInstance() throws InterruptedException { if(singleton2==null){ singleton2 = new Singleton2(); } return singleton2; } }
-
存在线程安全问题(可以线程锁解决)
-
-
饿汉式(空间换时间)
-
public class Singleton1 { public static Singleton1 singleton1 = new Singleton1(); private Singleton1(){} public static Singleton1 getSingleton1(){ return singleton1; } }
-
静态内部类实现(推荐)
-
public class Singleton { private Singleton() {} public static class SingletonInstance{ private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance(){ return SingletonInstance.INSTANCE; } }
-
-