• java设计模式--单例模式


    所谓单例模式就是只能有一个实例。如何只有一个实例呢?就是不能创建更多的实例,所以构造函数一般私有化,不能new一个新的对象,提供一个访问方法,只能通过这个访问点获取到唯一的对象实例。

    常见实现方式有两种:懒汉模式和饿汉模式。

    懒汉模式:就是很懒咯,不是一开始就装载好,而是你要用的时候我再创建。

    eg:

    /**
     * 单例模式:懒汉模式
     * 
     * @author yannic
     *
     */
    public class SingleInstance {
        //volatile修饰,禁止指令重拍
        private static volatile SingleInstance singleInstance;
    
        // 私有化构造器,防止外部的类调用创建新对象
        private SingleInstance() {
        }
    
        public static SingleInstance getInstance() {
            //double-check:双重检查
            if (singleInstance == null) {
                synchronized (SingleInstance.class) {
                    if (singleInstance == null) {
                        singleInstance = new SingleInstance();
                    }
                }
            }
            return singleInstance;
        }
    
    }

    饿汉模式:就是很急迫嘛,一开始类装载的时候就创建好这个唯一的实例对象了。

    /**
     * 单例模式:饿汉模式
     * 
     * @author yannic
     *
     */
    public class Singleton {
        //类加载时就初始化
        private static final Singleton singleton = new Singleton();
        //私有化构造器
        private Singleton() {
        }
    
        public static Singleton getInstance() {
            return singleton;
        }
    }

    还有一些其他实现方法啦,一个就是枚举方法,我不太会用,就不写啦。

  • 相关阅读:
    2022.44 AI在视觉领域进展
    2022.46 魔搭社区
    2022.38 AIOT产业结构
    2022.41 全真互联
    2022.39 AIOT和元宇宙
    2022.45 AIGC
    2022.42 全真互联技术
    2022.40 AIOT和双碳目标
    2022.43 全真互联应用
    2022.37 AIOT的应用场景分类
  • 原文地址:https://www.cnblogs.com/ITyannic/p/10705225.html
Copyright © 2020-2023  润新知