单例模式
作者:互联网
1.概念:作为对象的创建模式,单例模式让一个类只有一个实例化的对象,并向整个系统提供这个实例对象。
2.特点:单例类只有一个实例;单例类必须自己创建自己的唯一实例化对象;单例类必须给其他对象提供这一实例。
3.饿汉式单例类:当类装载的时候就会创建类的实例,不管用没用到,都先创建出来。以空间换时间。
public class EagerSingleton{ private static EagerSingleton instance = new EagerSingleton(); private EagerSingleton(){} public static EagerSingleton getInstance(){ return instance; } }
4.懒汉式单例类:不会在类装载的时候就马上创建类的实例,而是到了要使用对象实例的时候才会创建,所有每次都要判断是否需要创建实例,会浪费判断时间,但是节约内存空间。以时间换空间。
public class LazySingleton { private static LazySingleton instance = null; /** * 私有默认构造子 */ private LazySingleton(){} /** * 静态工厂方法 */ public static synchronized LazySingleton getInstance(){ if(instance == null){ instance = new LazySingleton(); } return instance; } }
5.单元素的枚举类型是单例模式的最佳形式
public enum Singleton{ //定义一个枚举的元素,它就代表了Singleton这个类的一个实例 uniqueInstance; //单例可以有特有方法 public void singletonOperation(){ } }
标签:EagerSingleton,LazySingleton,模式,instance,实例,单例,public 来源: https://www.cnblogs.com/lc2100222/p/16257768.html