单例模式,只有单个实例的意思。一般用于只需要有一个实例存在的时候,防止new好多个对象,保证在内存中只有一个实例存在。
饿汉式单例
类加载到内存后,就实例化一个单例,JVM保证线程安全唯一缺点:不管用到与否,类装载时就完成实例化public class Singleton {private static Singleton singleton = new Singleton();//防止new对象private Singleton(){}public static Singleton getInstance(){return singleton;}public static void main(String[] args) {Singleton singleton1 = Singleton.getInstance();}}
懒汉式单例
需要时,才new对象。但多线程访问时会出现问题。public class Singleton {private static Singleton singleton;//防止new对象private Singleton(){}public static Singleton getInstance(){if(singleton == null){singleton = new Singleton();}return singleton;}public static void main(String[] args) {Singleton.getInstance();}}
