单例模式是一个重要的设计模式,我们通过单例模式可以得到一个相同的实例化对象。单例模式分为懒汉式和饿汉是,饿汉式比较简单,上来先创建一个私有化的类对象,通过一个公共的方法获取这个对象。而懒汉式则不同,不会自动生成,而是在方法中做一个判断,如果此时的实例化对象为空再去生成。
但是需要注意的是,懒汉式最大的问题就在于他是线程不安全的,看一个例子。
public class SingleDemo {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
new Thread(() -> {
Lazy instance = Lazy.getInstance();
System.out.println(instance);
}, "线程对象" + i).start();
}