美文网首页
Java设计模式一--单例模式

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

作者: 望着天数月亮 | 来源:发表于2018-06-04 14:55 被阅读0次

    一、单例模式
    单例模式主要分为饿汉式、懒汉式(非线程安全、线程安全、双重检查)、静态内部类、枚举。
    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();
      }
    
    }
    

    相关文章

      网友评论

          本文标题:Java设计模式一--单例模式

          本文链接:https://www.haomeiwen.com/subject/uqxysftx.html