hooyantsing's Blog

P30 单例(静态代码块饿汉式)

字数统计: 184阅读时长: 1 min
2020/11/08

尚硅谷Java设计模式(图解+框架源码剖析)

饿汉式(静态代码块)

饿汉式(静态常量)是一样的,只不过将类实例化的过程放在了静态代码块中,也就是类加载的时候,就执行静态代码块中的代码,初始化类的实例。优缺点和上面是一样的。

结论:这种单例模式可用,可能造成内存浪费。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Singleton {
// 1.构造器私有化,防止外部new
private Singleton(){}

// 2.类本身内部的静态块创建对象实例
private static Singleton instance;

static {
instance = new Singleton();
}

// 3.提供一个公有的静态方法,返回实例对象
public static Singleton getInstance(){
return instance;
}
}
CATALOG
  1. 1. 饿汉式(静态代码块)