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

    简介

    软件设计模式,又叫设计模式,是一套反复被使用,多数人知晓的,经过分类编目的,代码设计经验的编写;
    目的: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)创建

  • 相关阅读:
    java中变量、对象的存储
    悬停小组件-反馈和返回顶部
    setTimeout、setInternal传递带参数的函数
    jquery绑定事件时如何传递参数
    jQuery判断复选框checkbox是否选中
    bootstrap模态框垂直居中显示
    【转】Spring事务的隔离级别
    第一天 纪念下下
    羊车门
    关于Python课程的一些思考。
  • 原文地址:https://www.cnblogs.com/monkay/p/11281945.html
Copyright © 2011-2022 走看看