zoukankan      html  css  js  c++  java
  • 【设计模式】——单例模式

    转自:xingoo

    单例模式:

      保证类仅有一个实例,并且可以供全局使用。这个类自己创建对象,并且提供对外公开的调用方法。(构造方法私有)

    使用场景:

      当类只有一个实例,并且可以从一个固定的访问点访问它时。

    代码展示:

    【饿汉模式】

    public class Singleton {
        private static final Singleton singleton = new Singleton();   //此处为final变量  不可以修改
        private Singleton(){
            /**
             * 构造方法私有化
             */
        }
        /*
         * 返回实例,方法为static
         */
        public static Singleton getInstance(){
            return singleton;
        }
    }

    【懒汉模式】

    public class Singleton2 {
        private static  Singleton2 singleton = null;
        private Singleton2(){
            /**
             * 构造方法私有化
             */
        }
        /*
         * 同步方法synchronized ,当需要实例的时候采取创建, 返回实例,方法为static
         */
        public static synchronized Singleton2 getInstance(){
            if(singleton==null){
                singleton = new Singleton2();
            }
            return singleton;
        }
    }
  • 相关阅读:
    Python 中的一些小技巧
    Java/Python/Elixir 正则库使用上的注意事项
    Scrapy 学习笔记(一)数据提取
    记第一次面试
    Spring Web MVC 笔记
    Java 单元测试
    Spring 笔记(四)AOP
    C 语言 进阶
    编程的智慧
    Spring 笔记(三)Bean 装配
  • 原文地址:https://www.cnblogs.com/doudingbest/p/4957264.html
Copyright © 2011-2022 走看看