zoukankan      html  css  js  c++  java
  • 设计模式-单例模式(Singleton)

    单例模式可以保证为一个类只生成唯一的实例对象。

    具体代码:

    /**
     * 饿汉式
     */
    public class HungrySingleton {
        private HungrySingleton(){}
        private static final HungrySingleton hungrySingleton = new HungrySingleton();
        public static HungrySingleton getInstance(){
            return hungrySingleton;
        }
    }
    /**
     * 懒汉式
     */
    public class LazySingleton {
        private LazySingleton(){}
        private static LazySingleton lazySingleton;
        public static LazySingleton getInstance(){
            if(lazySingleton == null){
                synchronized (LazySingleton.class){
                    if(lazySingleton == null){
                        lazySingleton = new LazySingleton();
                    }
                }
            }
            return lazySingleton;
        }
    }
    public class Main {
        public static void main(String[] args) {
            HungrySingleton hungrySingleton = HungrySingleton.getInstance();//饿汉式
            HungrySingleton hungrySingleton1 = HungrySingleton.getInstance();//饿汉式
    
            LazySingleton lazySingleton = LazySingleton.getInstance();//懒汉式
            LazySingleton lazySingleton1 = LazySingleton.getInstance();//懒汉式
    
            System.out.println(hungrySingleton.getClass().hashCode());
            System.out.println(hungrySingleton1.getClass().hashCode());
            System.out.println(lazySingleton.getClass().hashCode());
            System.out.println(lazySingleton1.getClass().hashCode());
        }
    }

    结果:

    1163157884
    1163157884
    1956725890
    1956725890

    源码:https://github.com/qjm201000/design_pattern_singleton.git

  • 相关阅读:
    「SHOI2015」脑洞治疗仪
    LOJ 数列分块入门 8
    CF932F Escape Through Leaf
    NOIP2021游记总结
    [HEOI2016/TJOI2016]序列
    【模板】动态树(Link Cut Tree)
    LG P2839 [国家集训队]middle
    JZOJ 7377.欢乐豆
    JZOJ 7392. 【2021.11.17NOIP提高组联考】数 (ds)
    LOJ 数列分块入门 6
  • 原文地址:https://www.cnblogs.com/qjm201000/p/10057106.html
Copyright © 2011-2022 走看看