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;
    }
    }

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

  • 相关阅读:
    EF上下文容器,保存线程唯一性
    zabbix 监控服务器的TCP状态
    C++ 类里面,函数占用存储空间问题
    大道至简第一章读后感(伪代码)
    读大道至简有感
    String 部分源码分析
    LinkedList 源码分析
    ArrayList 源码分析
    定时取数据库的schema,并推送到git服务器
    全面解读python web 程序的9种部署方式
  • 原文地址:https://www.cnblogs.com/demonzk/p/6297501.html
Copyright © 2011-2022 走看看