hooyantsing's Blog

P32 单例(线程安全懒汉式)

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

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

懒汉式(线程安全,同步方法)

优点:解决了线程不安全的问题。

缺点:效率太低,每个线程在想获取实例时候,执行getInstance()方法都要进行同步。而其实这个方法只执行一次实例化就够了,后面想获得该实例,直接return就行了。方法进行同步效率太低。

结论:在实际开发中,不推荐使用这种方式。

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

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

// 3.提供一个公有的静态方法,当使用该方法时,才去创建 instance
public static synchronized Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
CATALOG
  1. 1. 懒汉式(线程安全,同步方法)