zoukankan      html  css  js  c++  java
  • 单例设计模式(饿汉式与懒汉式)

    单例设计模式:保证类在内存中只有一个对象。

    单例设计模式,首先要私有构造方法,防止被实例化多个对象。其次要在类中创建自己的对象,而且要对外提供这个对象。

    1.饿汉式

    顾名思义,就是一上来就创建对象的意思

    class Singleton{
        // 私有构造方法,防止创建对象
        private Singleton(){}
        // 创建本类对象
        private static Singleton s = new Singleton();
        // 对外提供公共的访问方法
        public static Singleton getInstance() {
            return s;
        }
    }

    2.懒汉式

    顾名思义,就是调用时才创建对象的意思

    class Singleton{
        // 私有构造方法,防止创建对象
        private Singleton(){}
        private static Singleton s;
        // 对外提供公共的访问方法
        public static Singleton getInstance() {
            if (s == null){                   // 保证对象是唯一的
                s = new Singleton();
            }
            return s;
        }
    }

    一般都会用的是饿汉式。饿汉式是一开始就创建对象的,虽然会消耗一点内存,但是效率高。而懒汉式是等到调用才创建对象,节省这么一点内存空间没什么实际作用。

    而且针对上面写的懒汉式,线程不安全。可能会创建多个对象。写成线程安全的话,效率更加低,所以一般不用。

  • 相关阅读:
    Objective-c Category(类别)
    协议(porotocol)
    类的通用格式
    objective-c 强大的布尔类型
    C 语言函数指针
    c while 循环
    jQuery的deferred对象详解
    exploring the http Object
    div+css定位position详解
    如何给变量取个简短且无歧义的名字
  • 原文地址:https://www.cnblogs.com/chichung/p/10288596.html
Copyright © 2011-2022 走看看