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

    package test;
    //单利模式
    public class demo1 {
        public static void main(String[] args) {
            /*Singleton s1 = Singleton.s;  //成员变量被私有
            Singleton s2 = Singleton.s;
            
            System.out.println(s1==s2);*/
            Singleton s1 = Singleton.getInstance();
            Singleton s2 = Singleton.getInstance();
            
            System.out.println(s1==s2);
        }
    }
    //饿汉式
    /*class Singleton{
        //私有构造方法
        private Singleton(){}
        //创建本类的对象 私有成员变量
        private static Singleton s = new Singleton();
        //对外提供get方法
        public static Singleton getInstance(){
            return s;
        }
    }*/
    //懒汉式   单例的延迟加载模式  多线程访问会有安全隐患
    /*class Singleton{
        //私有构造方法
        private Singleton(){}
        //私有成员变量
        private static Singleton singleton  ;
        //提供get 方法
        public static Singleton getInstance() {
            if(singleton == null){
                singleton = new Singleton();
            }
            return singleton;
        }
    }*/
    
    //饿汉式和懒汉式区别
    //饿汉式是空间换时间,懒汉式是时间换空间
    //饿汉式不会创建建多个对象,懒汉式有可能创建多个对象
    class Singleton{
        //私有构造方法
        private Singleton(){}
        //私有成员变量
        public  static  final Singleton singleton = new Singleton() ;
    }
  • 相关阅读:
    本地项目上传至GitHub
    博客园上传markdown格式文章
    Spring boot快速入门
    洛谷P1279 字串距离
    洛谷P2758 编辑距离
    POJ 堆栈基本操作
    洛谷P2815 IPv6地址压缩
    喵的Unity游戏开发之路
    喵的Unity游戏开发之路
    喵的Unity游戏开发之路
  • 原文地址:https://www.cnblogs.com/hudj/p/7416298.html
Copyright © 2011-2022 走看看