java单例设计模式的区别_Java中几种常见的设计模式--单例设计模式

一、什么是单例设计模式

单例设计模式的定义是只有一个类,并且提供一个全局访问点。

二、适用于那些场景

一个对象即可完成所有工作,无需大量创建对象消耗资源。比如一个长连接,建立起来就不断的发送数据,如果每一个请求都创建一个链接,资源很快就被消耗殆尽。

三、有什么特点

只有一个实例

自我实例化

提供一个全局访问点

四、单例模式的优缺点

优点:由于单例模式只生成了一个实例,所以能够节约系统资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。

缺点:也正是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽象类,这样扩展起来有一定的困难

五、如何创建

方法一 饿汉模式

使用静态常量,在单例类加载的时候就创建了,常见代码如下:

classSingleton1 {//类内部创建实例

private static Singleton1 instance=newSingleton1();//构造方法私有化,防止通过new方式 创建私立

privateSingleton1(){}//对外提供全局同用的唯一调用方法

public staticSingleton1 getInstance(){returninstance;

}

}

这种方式优点缺点都很明显,

优点:类加载的时候实例化,防止对线程同时访问问题。

缺点:类加载时候就实例化,如果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值