单例模式分析
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 单例模式,这个搞java的应该都懂,对于那些有缺陷的单例模式就不说了,太low,这里说下相对略叼的两种。 一、双重校验锁 先上代码: package com.ayo.singleton; import java.io.*; /** * 双重校验锁单例模式 * * @Authror ayo * @Date 2020/1/7 14:33 */ public class LanhanSingleton implements Serializable { private volatile static LanhanSingleton INSTANCE; private LanhanSingleton() {} public static LanhanSingleton getInstance(){ if(INSTANCE == null){ synchronized (LanhanSingleton.class){ if (INSTANCE == null){ INSTANCE = new LanhanSingleton(); } } } return INSTANCE; } } 双重校验锁基本上算是比较完善的单例模式了(大部分场景下),但是它还是有缺点的,因为如果按照这么写并不能真正的保证单例,最简单的就是用反射搞你