• 单例模式


    单例模式的作用
        保证一个类只有一个实例,并且提供访问该实例的全局访问方法。
    为什么要用单例模式
        1:为了性能考虑。
        2:在整个程序空间使用全局变量,共享资源。
    几种实现方法:
        懒汉式,饿汉式,静态内部类实现 ,枚举实现。(除了)
    饿汉式:
    // 饿汉式可以在多线程中保证单例
    public class Persion{
        // 持有局部,静态,常量本类实例。
        private  static final Persion persion = new Persionz();  // 私有,静态,常量
        // 私有化构造函数
        private Persion();
        // 提供全局,静态的获取实例的方法
        public static Persion getPersion(){
            return persion;
        }
    }
    
    懒汉式:
    // 懒汉式在多线程中不能保证单例
    public class Persion{
        private static Persion persion = null;  // 私有,静态
        private Persion();
        public static Persion getPersion(){
            if(persion == null){
                persion = new Persion();
                return persion;
            }else{
                return persion;
            }
        }
    }
    懒汉式的双重检查:
    // 保证多线程情况下保证单例
    public class Persion{
        private static Persion persion = null;  // 私有,静态
        private Persion();
        public static Persion getPersion(){
            // 懒汉式的双重检测锁
            if(persion == null){
                synchronized(Persion.class){
                        if(persion == null){
                            persion = new Persion();
                        }
                }
            }
            return persion;
        }
    }
    # 反射入侵:
        
  • 相关阅读:
    POJ
    POJ
    HDU——1027Ignatius and the Princess II(next_permutation函数)
    HDU——1106排序(istringstream的使用、STLvector练习)
    HDU——2054A==B?
    HDU——2087剪花布条
    HDU——2064汉诺塔III
    HDU——2068RPG的错排(错排公式)
    HDU——1789Doing Homework again(贪心)
    HDU——2067小兔的棋盘(卡特兰数&递推DP)
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/12601273.html
Copyright © 2020-2023  润新知