其他分享
首页 > 其他分享> > 单例模式

单例模式

作者:互联网

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