设计模式
- 接下来我会更新一系列的设计模式,如果有需要的小伙伴可以关注,大家共同成长一起讨论~fighting!!!!
- 我会将设计模式中每一个模式的代码以及个人见解写在一起,欢迎小伙伴一起探讨 话不多说,直接上干货
先给各位小伙伴普及一下啥叫单例模式,(PS:技术大佬就不要挑毛病啦~爱你哟):单例模式简单来说,就是只有一个实例
单例模式之饿汉式
饿汉式有两个写法,下面将一一列出,欢迎大家指教~
- 饿汉式之一:也就是最常见的写法,采用静态常量的写法,话不多说上代码:
(ps:因为新电脑还没有安装环境,先凑合看吧~,等后面环境装好了,再给大家上代码截图,看在我手敲代码的份上,点点关注吧,么么哒~)
class Singleton {
//1、首先写单例模式的一定不能忘记的三点
//私有化的构造器,为了什么呢?为了不让new
private Singleton(){
}
//2、提供一个静态的常量,在类的内部创建对象实例
private static final Singleton singleton = new Singleton();
//3、提供一个共有的静态方法,返回对象实例
public static Singleton getInstance(){
return singleton;
}
}
- 饿汉式之二:静态代码块的形式来实现单例模式
class Singleton{
//1、同样提供一个私有化的构造器
private Singleton(){
}
//2、创建一个静态代码块,当然创建之前还是需要一个成员变量滴
private static Singleton singleton;
static{
singleton = new Singleton();
}
//3、同样提供一个共有的方法,来返回对象实例
public static Singleton getInstance(){
return singleton;
}
}
饿汉式单例模式的优缺点:
- 优点:写法简单,在类被装载的时候就完成了实例化,避免了线程同步的问题 缺点:该写法无法做到懒加载,并且会造成资源的浪费