zoukankan      html  css  js  c++  java
  • 设计模式——单例模式(Singleton)

    最近做项目的时候遇到一个问题,就是一个设置界面设置某一个属性的时候我们在整个应用程序中只能有一个设置界面的实例存在。于是就去学习了一下单例模式,然后将其记录下来了。

    简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。

    特别注意:

    一、单例模式是用来实现在整个程序中只有一个实例的。

    二、单例类的构造函数必须为私有,同时单例类必须提供一个全局访问点。

    三、懒汉式和饿汉式单例类。

    在Java中,单例模式(饿汉模式)应用的例子如下述代碼所示:

      public class Singleton {
        private static Singleton INSTANCE = new Singleton();
     
        // Private constructor suppresses 
        // default public constructor
        private Singleton() {}
     
        public static Singleton getInstance() {
            return INSTANCE;
        }
      }
    

    Java中,单例模式(懒汉模式)应用的例子如下述代碼所示:

     //这个方法比上面的有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率

      public class Singleton {
        private static Singleton INSTANCE = null;
     
        // Private constructor suppresses 
        // default public constructor
        private Singleton() {}
     
        public static synchronized Singleton getInstance() {
            if(INSTANCE == null){
            INSTANCE = new Singleton(); 
            }
            return INSTANCE;
        }
      }
  • 相关阅读:
    phpStudy The requested URL /web/index.php was not found on this server
    python yield 理解与用法
    python 高阶函数之 map
    python 高阶函数之 reduce
    java extends和implements区别
    SpringMVC中使用Interceptor拦截器顺序
    SpringMVC 拦截器使用说明
    java session创建与获取
    跨域解决方案
    nrm -- 一键切换npm源
  • 原文地址:https://www.cnblogs.com/tanlon/p/2189795.html
Copyright © 2011-2022 走看看