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

    单例模式的作用
        保证一个类只有一个实例,并且提供访问该实例的全局访问方法。
    为什么要用单例模式
        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;
        }
    }
    # 反射入侵:
        
  • 相关阅读:
    git介绍
    Oracle '26-2月 -19 03.34.47.000000 下午' 字符串日期解析
    ProceedingJoinPoint 某些方法记录一下
    SpringBoot 2.X以上集成redis
    SpringBoot文件上传配置
    editmd输出到前端显示
    Thymeleaf Shiro标签
    Springboot 添加druid监控
    基于SpringBoot的博客项目
    SpringBoot默认首页配置
  • 原文地址:https://www.cnblogs.com/Xmingzi/p/12601273.html
Copyright © 2011-2022 走看看