Java设计模式一--单例模式

一、单例模式
单例模式主要分为饿汉式、懒汉式(非线程安全、线程安全、双重检查)、静态内部类、枚举。
1.饿汉式

public class SingleDemo{
  private SingleDemo(){}  // 重写默认构造器,防止外部实例化
  private static SingleDemo instance = new SingleDemo();
  public static SingleDemo getInstance(){
    return instance;
  }
}

2.懒汉式(双重检查)

public class SingleDemo{
  private SingleDemo(){}
  private static volatile DingleDemo instance;
  public static SingleDemo getInstance(){
    if(instance == null){
      synchronized(SingleDemo.class){
        if(instance == null){
          instance = new SingleDemo(); 
        }
      }
      return instance;
   }
}

3.静态内部类式

public class SingleDemo{
  private SingleDemo(){}
  public static getInstance(){
    return SingleDemoHolder.INSTANCE;
  }
  private static class SingleDemoHolder{
    public static final SingleDemo INSTANCE= new SingleDemo();
  }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容