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

  • 相关阅读:
    .NET基础示例系列之十二:DLLImport
    .NET基础示例系列之二:Socket
    Qt之msvcversion.conf loaded but QMAKE_MSC_VER isn‘t set
    Ubuntu安装sshd
    Quick工程设置exe图标
    git修改文件之后上传
    VS里打开Qt的pro工程
    QtQWebEngineView显示百度网页
    在gitte建立新仓库并上传本地工程
    Qt的qDebug打印加颜色
  • 原文地址:https://www.cnblogs.com/qjm201000/p/10057106.html
Copyright © 2011-2022 走看看