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;

        }

  • 相关阅读:
    Redis系列之一缓存穿透,缓存击穿,缓存雪崩
    centos 7 安装KVM
    windows 下免安装版本(zip archive)的 mysql 安装
    IDEA Scala 程序报错 Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef$
    Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Invalid status 16 (state=08S01,code=0)
    串口知识笔记
    C语言常用函数笔记
    流媒体服务器、海康威视 大华摄像头实现视频监控、直播解决方案(转)
    315M、433M和2.4G笔记
    MOS管开关电路笔记
  • 原文地址:https://www.cnblogs.com/rookie404/p/5792414.html
Copyright © 2011-2022 走看看