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)创建

  • 相关阅读:
    MySql 分页存储过程
    Wireshark图解教程
    Android全局变量使用
    Memcache存储大数据的问题
    论这场云盘大战,以及各网盘的优劣
    [MySQL CPU]线上飙升800%,load达到12的解决过程
    一步一步写算法(之排序二叉树)
    platform_device与platform_driver
    SPOJ 130
    Java实现 蓝桥杯VIP 算法训练 奇偶判断
  • 原文地址:https://www.cnblogs.com/monkay/p/11281945.html
Copyright © 2011-2022 走看看