美文网首页
单例模式(一)—懒汉模式

单例模式(一)—懒汉模式

作者: 奔跑的佩恩 | 来源:发表于2022-07-21 14:07 被阅读0次

    前言

    单例模式模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象的使用上比较频繁,当然在其他场景下也有使用。然而单例模式的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式
    今天涉及内容:

    1. 懒汉模式编写的几个特点
    2. 懒汉模式代码实现
    3. 懒汉模式优缺点

    一. 懒汉模式 编写的几个特点

    作为单例模式中的懒汉模式,具有以下特点:

    • 私有无参构造函数
    • 声明静态私有类对象
    • 静态公开获取该类对象的方法,并在该方法中判断为空则创建的处理

    二. 懒汉模式 代码实现

    具体代码实现方式如下:

    /**
     * Title: 单例模式之:懒汉模式
     * 
     * description:
     * autor:pei
     * created on 2022/7/21
     */
    class SingletonLazzy {
    
        private constructor()
    
        companion object{
    
            private var instance:SingletonLazzy?=null
    
            fun getInstance():SingletonLazzy{
                if(instance==null){
                    instance=SingletonLazzy()
                }
                return instance!!
            }
        }
    
        /**测试方法**/
        fun print(message: String) {
            LogUtil.i(message)
        }
    
    }
    

    MainActivity中调用如下:

    SingletonLazzy.getInstance().print("====我是测试====")
    

    三. 懒汉模式 优缺点

    • 优点: 懒汉模式的优点是SingletonLazzy类加载的时候,不会被立刻实例化,只有在第一次使用这个实例的时候,才会被实例化,可以相对节省内存占用。
    • 缺点:线程不安全

    ok,今天关于单例模式的懒汉模式就介绍到这里了。

    相关文章

      网友评论

          本文标题:单例模式(一)—懒汉模式

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