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

    定义:如果一个类始终只能创建一个实例,那么这个类被称为单例类,这种设计模式被称为单例模式。

    Spring框架里面可以将所有生成的bean对象都设置为单例模式,只需要在配置Bean实例时指定scope=“singleton”即可,或者不做配置默认即为单例模式。

    我们可以创建一个小的Demo来演示单例模式的实现,只需要保证该类只能创建一个实例,我们可以用权限修饰符private修饰该类的构造器。

    提供一个创建该类的接口,该接口只能用static修饰,类里面创建一个成员变量来保存生成的实例。

    代码如下:

    复制代码
    package test;
    
    class Anmail{
        
    }
    class singlelonDemo {
        private static singlelonDemo sd;
        private singlelonDemo(){
            
        }
        public static singlelonDemo single(){
            if(sd == null){
                sd = new singlelonDemo();
            }
            return sd;
        }
    }
    public class singleDemo{
        public static void main(String[] args){
            singlelonDemo sd1 = singlelonDemo.single();
            singlelonDemo sd2 = singlelonDemo.single();
            System.out.println(sd1==sd2);
        }
    }
    复制代码

    输出结果为true,表示生成的是一个实例。

    单例模式是一种应用很广泛的设计模式,许多框架都有应用,下面要讲到的工厂模式里的工厂也只需要单个实例。

    使用单例模式的两个优点:

    1、减少创建java实例所带来的系统开销。

    2、便于系统跟踪单个java实例的生命周期、实例状态等。

  • 相关阅读:
    向量求导几则公式备忘
    电脑硬件接触不良
    caffe编译新问题
    faster-rcnn 目标检测 数据集制作
    py-faster-rcnn 的makefile.config 注意事项
    ubuntu14.04 python + opencv 傻瓜式安装解决方案
    轻量级神经网络平台tiny-dnn实践
    OpenMP 并行编程
    React在Render中使用bind可能导致的问题
    为了cider,尝试emacs的坑
  • 原文地址:https://www.cnblogs.com/shitaotao/p/7648244.html
Copyright © 2011-2022 走看看