设计模式之单例模式

单例模式介绍单例模式可以说是应用最广泛的模式之一,也是很多程序猿学会的第一个设计模式,在使用单例模式中,必须保证单例模式的类只有一个实例存在,这就是单例模式 使用场景因为很多类的对象生成需要消耗大量的资源,例如创建一个对象需要大量时间初始化、访问IO、数据库或者对象本身会消耗很多内存空间以及对象本身存在对象池(线程池等),或者某种类型的对象应该有且只有一个的时候,这时候就可以考虑使用单例模式 单例模式的实现方式所有方式共同点单例模式有多种实现方法,如饿汉模式、懒汉模式、Double check Lock(DCL)模式、内部静态类模式、枚举模式等(下面会一一介绍),但是所有模式都一个共同点,那就是对需要实现单例的类的构造方法私有化,简单来说就不能在其他类中使用new关键字进行实例化 饿汉模式public class Singlecase{ private static final Singlecase single= new Singlecase(); private Singlecase(){} public static Singlecase getInstance(){ return single; } } 优点线程安全,没有加锁,执行效率会提高 缺点类加载时就初始化,浪费内存 懒汉模式public…