设计模式单例模式之饿汉式

设计模式

  1. 接下来我会更新一系列的设计模式,如果有需要的小伙伴可以关注,大家共同成长一起讨论~fighting!!!!
  2. 我会将设计模式中每一个模式的代码以及个人见解写在一起,欢迎小伙伴一起探讨 话不多说,直接上干货

先给各位小伙伴普及一下啥叫单例模式,(PS:技术大佬就不要挑毛病啦~爱你哟):单例模式简单来说,就是只有一个实例

单例模式之饿汉式

饿汉式有两个写法,下面将一一列出,欢迎大家指教~

  1. 饿汉式之一:也就是最常见的写法,采用静态常量的写法,话不多说上代码:
    (ps:因为新电脑还没有安装环境,先凑合看吧~,等后面环境装好了,再给大家上代码截图,看在我手敲代码的份上,点点关注吧,么么哒~)

class Singleton {
//1、首先写单例模式的一定不能忘记的三点
//私有化的构造器,为了什么呢?为了不让new
private Singleton(){
}
//2、提供一个静态的常量,在类的内部创建对象实例
private static final Singleton singleton = new Singleton();
//3、提供一个共有的静态方法,返回对象实例
public static Singleton getInstance(){
return singleton;
}
}

  1. 饿汉式之二:静态代码块的形式来实现单例模式

class Singleton{
//1、同样提供一个私有化的构造器
private Singleton(){
}
//2、创建一个静态代码块,当然创建之前还是需要一个成员变量滴
private static Singleton singleton;
static{
singleton = new Singleton();
}
//3、同样提供一个共有的方法,来返回对象实例
public static Singleton getInstance(){
return singleton;
}
}

饿汉式单例模式的优缺点:

  1. 优点:写法简单,在类被装载的时候就完成了实例化,避免了线程同步的问题 缺点:该写法无法做到懒加载,并且会造成资源的浪费
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值