zoukankan      html  css  js  c++  java
  • 单利模式

    通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例

    1.懒汉式

    //懒汉式 , 线程安全
    public class Single {
        //创建实例对象并且初始化
        private static Single instance = null;
        //构造器私有化
        private Single() {
            
        }
        //获取唯一的可用的对象
        public static synchronized Single getInstance() {
            if(instance == null) {
                instance = new Single();
            }
            return instance;
        }
        
        public static void main(String[] args) {
            Single s1 = Single.getInstance();
            Single s2 = Single.getInstance();
            System.out.println(s1 == s2);
        }
    }

    2.饿汉式

    //饿汉式
    public class Single {
        
        private static final Single instance = new Single();
        //构造器私有化
        private Single() {
            
        }
        //获取唯一的可用的对象
        public static Single getInstance() {
            return instance;
        }
        
        public static void main(String[] args) {
            Single s1 = Single.getInstance();
            Single s2 = Single.getInstance();
            System.out.println(s1 == s2);
        }
    }

    3.双重锁形式:

    //双重锁形式
    public class Single {
        
        private static volatile Single instance = null;
        //构造器私有化
        private Single() {
            
        }
        //获取唯一的可用的对象
        public static Single getInstance() {
            if(instance == null) {
                synchronized (Single.class) {
                    if(instance == null) {
                        instance = new Single();
                    }
                }
            }
            return instance;
        }
        
        public static void main(String[] args) {
            Single s1 = Single.getInstance();
            Single s2 = Single.getInstance();
            System.out.println(s1 == s2);
        }
    }

    一般用第三种

    温故而知新
  • 相关阅读:
    [转载] $CF652B$ 题解
    [转载] $Luogu$ $P4951$ 题解
    luoguP3723 HNOI2017 礼物
    动态dp学习笔记
    noip级别模板小复习
    noip2017简要题解。
    noip考前抱佛脚 数论小总结
    HDU 6071 Lazy Running
    POI2012 ODL-Distance
    [NOI2002]荒岛野人
  • 原文地址:https://www.cnblogs.com/Uzai/p/9698330.html
Copyright © 2011-2022 走看看