欢迎光临散文网 会员登陆 & 注册

CY的摸鱼——单例模式

2023-03-29 07:30 作者:菜呀1007  | 我要投稿

单例模式(Singletion Pattern)是Java中最简单的设计模式之一。在枚举的内容中,我们可以让一个类产生固定个数的对象,如果进一步限制,一个类只允许产生唯一的一个对象,就实现了单例模式。

单例模式的目的在于避免频繁创建和消毁实例,减少内存消耗。

使用场景:

  1. 要求生产唯一的序列号。

  2. 计数器,不用没错刷新都在数据库中加一,用单例对象先缓存。

  3. 连接数据库对象。

实现步骤:

  1. 定义一个属性,保存当前类的静态对象(单例对象);

  2. 将构造方法私有;

  3. 创建一个静态get()方法返回这个单例对象;

    模式可以分为:懒人模式,饿人模式

懒人模式:

创建实例的过程是在get()方法中,当需要单例对象时,调用get()方法才实例化。

优点:使用时候才创建实例,避免内存浪费;

缺点:线程不安全,无法保证绝对的单例。

PS:可以加线程锁解决,但是会降低执行效率。


饿人模式:
直接在属性中实例化,类加载的时候单例对象就准备好了。

优点:线程安全,执行效率高;
缺点:不需要的时候也会创建实例,内存浪费。
PS:枚举也可以实现单例模式,本质上就是饿人模式。



CY的摸鱼——单例模式的评论 (共 条)

分享到微博请遵守国家法律