单例模式--懒汉式和饿汉式

懒汉模式(类加载时不初始化
public class LazySingleton {
//懒汉式单例模式
//比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢

private static LazySingleton intance = null;//静态私用成员,没有初始化

  private LazySingleton()
  {
      //私有构造函数
  }
  
  public static synchronized LazySingleton getInstance()    //静态,同步,公开访问点
  {
      if(intance == null)
      {
          intance = new LazySingleton();
      }
      return intance;
  }、

饿汉式
public class EagerSingleton {
//饿汉单例模式
//在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快

    private static EagerSingleton instance = new EagerSingleton();//静态私有成员,已初始化
    
    private EagerSingleton() 
    {
        //私有构造函数
    }
    
    public static EagerSingleton getInstance()    //静态,不用同步(类加载时已初始化,不会有多线程的问题)
    {
        return instance;
    }
    
    
}

猜你喜欢

转载自blog.csdn.net/x_pf_123/article/details/84333343