美文网首页
设计模式之单例模式

设计模式之单例模式

作者: chuan_bai | 来源:发表于2018-03-14 10:54 被阅读2次

    单例模式的定义:

    确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例

    单例的使用场景:

    1.要求生成唯一序列号的环境
    2.创建一个对象需要消耗的资源过多
    3.需要定义大量的静态常量和静态方法

    单例模式分为懒汉式和饿汉式两种:

    饿汉式单例:

    /**
     * @Author: chuan.bai
     * @Description 饿汉式单例模式
     * @Date: Created on 08:59 2018/3/14
     * @Modified By:
     */
    public class Singleton {
    
        public static final Singleton singleton = new Singleton();
    
        /**
         * 构造方法
         */
        private Singleton() {
    
        }
    
        public static Singleton getSingleton() {
            return singleton;
        }
    
        public void singletonMethon() {
            System.out.println("生成一个单例方法");
        }
    
        public static void main(String[] args) {
            Singleton singleton = Singleton.getSingleton();
            //创建对象a
            Singleton singletonA = Singleton.getSingleton();
            //创建对象b
            Singleton singletonB = Singleton.getSingleton();
            //比较对象地址值
            System.out.println(singletonA.equals(singletonB));
    
            singleton.singletonMethon();
        }
    }
    

    懒汉式单例

    /**
     * @Author: chuan.bai
     * @Description 懒汉式单例
     * @Date: Created on 10:45 2018/3/14
     * @Modified By:
     */
    public class SingletonB {
    
        private static SingletonB singletonB = null;
    
        private SingletonB(){
    
        }
    
        public synchronized static SingletonB getSingletonB(){
            if(singletonB==null){
                singletonB =new SingletonB();
            }
            return singletonB;
        }
    }
    

    相关文章

      网友评论

          本文标题:设计模式之单例模式

          本文链接:https://www.haomeiwen.com/subject/vkmxqftx.html