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

    懒汉式
    public class Singleton{
    
        //@单例类只能有一个实例
        //@单例类必须自行创建这个实例
        //@单例类必须给所有对象提供这一个实例//必须向整个系统提供这个这个实例
        private static Singleton uniqueInstance = null;
        private Singleton(){
            System.out.println("懒汉式单例---");
            
        }
        public static Singleton getInstance(){
            if(uniqueInstance == null){
                uniqueInstance = new Singleton();
            }
            return uniqueInstance;
        }
    }
    懒汉式(同步否则有危险)
    public class Singleton{
    
        //@单例类只能有一个实例
        //@单例类必须自行创建这个实例
        //@单例类必须给所有对象提供这一个实例//必须向整个系统提供这个这个实例
        private static Singleton uniqueInstance = null;
        private Singleton(){
            System.out.println("懒汉式单例---");
            
        }
        public static synchronized Singleton getInstance(){
            if(uniqueInstance == null){
                uniqueInstance = new Singleton();
            }
            return uniqueInstance;
        }
    }
    饿汉式
    public class Singleton {
    
        private Singleton() {
            System.out.println("饿汉式单例---");
        }
        
        private static Singleton instance = new Singleton();
        
        public  static Singleton getInstance(){
            return instance;
        }
    
    }
    验证:
                    Singleton st1 = Singleton.getInstance();
            Singleton st2 = Singleton.getInstance();
            System.out.println(st1==st2);
    结果:true
  • 相关阅读:
    【LOJ#10027】魔板
    【LOJ#2653】山峰和山谷
    【POJ2449】第k短路
    【HAOI2008】移动玩具
    【洛谷P1379】八数码难题
    【NOIP2002】字串变换
    【CH2501】矩阵距离
    【CH2601】电路维修
    【NOIP2009】靶形数独
    树的子结构
  • 原文地址:https://www.cnblogs.com/ysloong/p/6246902.html
Copyright © 2011-2022 走看看