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;
        }
    }

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

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

  • 相关阅读:
    (7)排序之归并排序
    (5)排序之简单选择排序
    (4)排序之希尔排序
    (3)排序之直接插入排序
    (2)排序之快速排序
    (1)排序之冒泡排序
    Python学习
    centos下docker网络桥接
    docker下搭建gitlab
    centos版本7以上网卡名修改
  • 原文地址:https://www.cnblogs.com/chichung/p/10288596.html
Copyright © 2011-2022 走看看