第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

單例模式

標(biāo)簽:
Java

一. 定义:

    单例模式:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。

    初始化时实例化

    构造函数设置为私有访问权限,禁止外部创建对象

    其他类对该类的访问都可以通过getInstance获得同一个对象

public class Singleton {private static Singleton singleton = null;/*** 限制产生多个对象*/private Singleton() {}/*** 通过该方法获得实例对象* @return*/public static Singleton getSingleton() {if (singleton == null) {synchronized (Singleton.class) {singleton = new Singleton();}}return singleton;}/*** 类中其他方法,尽量是static*/public static void dosomething() {}}


二. 单例模式优缺点:

    单例模式的优点:

        -- 由于单例模式在内存中只有一个实例,减少了开支,特别是一个对象需要频繁地创建销毁时性能又无法优化时;

        -- 减少性能开销。当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,可通过在应用启动时直接产生一个单例对象,然后永久驻留在内存的方式来解决;

        -- 单例对象可以避免对资源的多重占用。(避免对同一个资源文件的同时写操作);

        -- 可以在系统设置全局访问点,优化和共享资源访问。

    缺点:

        -- 单例模式一般没有接口,扩展很困难;

        -- 单例模式对测试是不利的。在并行开发环境中,如果单例模式没有完成,是不能进行测试的,没有接口也不能使用mock的方式虚拟一个对象;

        -- 单例模式与单一职责原则有冲突。一个类应该只是实现一个逻辑,而不关心它是否是单例的。

三. 状态模式的使用场景及注意事项

    1.使用场景:

        要求生成唯一序列号的环境;

        在整个项目中需要一个共享访问点或共享数据;

        创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源;

        需要定义大量的静态常量和静态方法(如工具类)的环境。

        Spring中的bean默认就是单例。这样做Spring容器可以管理这些Bean的生命周期,决定这些bean的创建、销毁等。

    2.注意事项:

        高并发情况下,注意单例模式的线程同步问题。

        


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消