• 设计模式-单例模式


    简介

    软件设计模式,又叫设计模式,是一套反复被使用,多数人知晓的,经过分类编目的,代码设计经验的编写;
    目的:1、提高代码的可重用性;2、提高代码的可读性;3、提高代码的可靠性,可维护性

    常用设计模式

    1、单例模式,只创建操作一个实例对象

    【创建要点】1.构造函数私有化;2.提供静态共有函数来创建实例,供外部调用

    1. 懒汉方式;
      类加载是没有生成单例,只有第一次加载时才创建单例对象
      【实现】
        public class MySingleton(){
            private static volatile LazySingleton instance=null;    //保证 instance 在所有线程中同步
            private LazySingleton(){}    //private 避免类在外部被实例化
            public static synchronized LazySingleton getInstance()
            {
                //getInstance 方法前加同步
                if(instance==null)
               {
                    instance=new LazySingleton();
                }
                return instance;
            }
        }
    
    1. 饿汉方式
      类加载时就已经创建了对象,保证调用getInstance()之前单例已经存在
      【实现】
    public class HungrySingleton
    {
        private static final HungrySingleton instance=new HungrySingleton();
        private HungrySingleton(){}
        public static HungrySingleton getInstance()
        {
            return instance;
        }
    }
    

    注意:单线程中单例模式可能会失效,用DCL(Double Check Lock)创建

  • 相关阅读:
    单例模式
    自旋锁与互斥锁
    CAS无锁机制原理
    乐观锁和悲观锁
    读写锁
    Java锁机制-重入锁
    原 Linux搭建SVN 服务器2
    原 Linux搭建SVN 服务器
    Sublime Text 3 破解版 + 注册机 + 汉化包 + 教程
    Sublime Text 3 常用插件以及安装方法(转)
  • 原文地址:https://www.cnblogs.com/monkay/p/11281945.html
Copyright © 2020-2023  润新知