zoukankan      html  css  js  c++  java
  • 【Java】【设计模式】单例设计模式

    思想:

    1. 为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象

    2. 为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象

    3. 为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式

    代码体现:

    1. 将构造函数私有化

    2. 在类中创建一个本类对象

    3. 提供一个方法可以获取到该对象

    代码一

    先初始化对象

    称为:饿汉式

    Single类一进内存,就已经创建好了对象。

    public class SingleModeDemo {

    public static void main(String[] args){

    }
    }


    class Single{

    private Single(){}

    private static Single s = new Single();

    public Single getInstance(){
    return s;
    }
    }

    代码二

    对象是方法被调用时,才初始化,也叫作对象的延时加载。

    称为:懒汉式

    Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象

    public class SingleModeDemo {

    public static void main(String[] args){
    System.out.println("Hello world");
    }
    }


    class Single{

    private static Single s = null;

    private Single(){}

    public static synchronized Single getInstance(){
            if(s==null){
                synchronized(Single.class){
                    if(s==null)
                        s = new Single();
                }
            }
    return s;
    }
    }

    原则:定义单例,建议使用饿汉式

  • 相关阅读:
    mysql5.7 安装及主从搭建
    虚拟机加硬盘做逻辑卷
    mysql 5.7 主从同步问题
    Tomcat 配置全球服务器证书
    新建linux 服务器初始化配置
    python 字典 元组 集合
    python 列表
    35.再谈SpringBoot自定义日志配置--LogBack.xml
    36.SpringBoot应用属性加载和自动配置@EnableAutoConfiguration
    37.再谈Spring Boot Actuator
  • 原文地址:https://www.cnblogs.com/demonzk/p/6297501.html
Copyright © 2011-2022 走看看