设计模式之 单例模式(SingLeton)

解决对象的创建问题:

            在开发过程中在调用属性或方法的时候都会创建对象,同一时间如果有很多人并发的访问你的东西会在内存中创建很多对象,这会导致内存中对象空间很多

想法:设计一个类,该类只能创建一个对象

作用:控制内存

方法:

           1.饿汉模式(立即加载)

           2.懒汉模式(使用时加载)

实现:

         1.私有化构造方法

         2.构建私有的静态的当前类的对象作为属性

                  饿汉:属性创建时直接 new出对象,属性对象初始化

                  懒汉:在调用方法时判断属性是否被初始化,没有则加载,如果已经初始化,直接调用

         3.提供一个共有的静态方法用来返回对象(此时返回的对象是惟一的,所以同时调用时不会创建多个对象空间)

(以Java为例)

饿汉:

           

           

 懒汉:

            

            

         结论:以上两种创建方法,当第二次创建对象时构造方法并没有执行,因此证明对象只被创建过一次,空间中并不会创建多个存放改对象的空间,这种方式减少了对空间的占用,同时懒加载和饿加载可以根据情况的不同进行选择。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值