单例设计模式
作者:bin单例设计模式属于创建型模式
有如下特点:
只有一个实例。
自我实例化。
提供全局访问点。
俄汉模式:线程安全,调用效率高。但是不能延时加载
public class Singleton { //类初始化时,立即加载这个对象 private static Singleton instance = new Singleton(); private Singleton() { } //方法没有加同步块,所以它效率高 public static Singleton getInstance() { return instance; } }
懒汉模式:在对象需要使用时去实例化类,线程安全的,但是同步锁会影响效率
public class Singleton { private static volatile Singleton instance = null; private Singleton() { } //运行时加载对象 public static Singleton getInstance() { if (instance == null) { synchronized(Singleton.class){ if(instance == null){ instance = new Singleton(); } } } return instance; } }