zoukankan      html  css  js  c++  java
  • 设计模式-单例模式

    单例模式的五种实现写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。线程安全的实现方式

      懒汉式:        

        public class Singleton {

            private static Singleton instatnce;

            private Singleton(){}

            public static synchronized Singleton getInstance(){
              if(instatnce == null)
                instatnce=new Singleton();
              return instatnce;
             }

        }

      双重检验锁: 

        public class Singleton {  

            private static Singleton instatnce;


            private Singleton(){}

            public static Singleton getInstance(){
              if(instatnce == null){
                synchronized(Singleton.class){
                  if(instatnce == null)
                    instatnce=new Singleton();
                }
              }
              return instatnce;
            }

        }

      饿汉式:

        

        public class Singleton {

          private static Singleton instatnce=new Singleton();

          private Singleton(){}

          public static Singleton getInstance(){
            return instatnce;
          }

        }

      静态内部类:

        

        public class Singleton {

          private static class SingletonHolder{
            private static final Singleton INSTANCE = new Singleton();
          }

          private Singleton(){}

          public static final Singleton getInstance(){
            return SingletonHolder.INSTANCE;
          }

        }

      枚举:

        

        public enum EasySingleton {

          INSTANCE;

        }

  • 相关阅读:
    Another option to bootup evidence files
    切莫低估了使用者捍卫个人隐私的强烈意志
    如何验证证书绑定?
    How to verify Certificate Pinning?
    iDevice取证的一大突破
    Do you know how many stuff inside your Google Account?
    Use LiveCD to acquire images from a VM
    完成评论功能
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局。
  • 原文地址:https://www.cnblogs.com/rookie404/p/5792414.html
Copyright © 2011-2022 走看看