技术栈
反射攻击
月球程序猿
8 个月前
单例模式
·
设计模式
·
饿汉模式
·
懒汉模式
·
反射攻击
Singleton单例设计模式详解
保证一个类只有一个实例,并且提供一个全局访问点重量级的对象,不需要多个实例,如线程池,数据库连接池延迟加载,只有在真正使用的时候,才开始实例化。 1)线程安全问题。 2)double check 加锁优化。 3)编译器(JIT),CPU 有可能对指令进行重排序,导致使用到尚未初始化的实例,可以通过添加volatile 关键字进行修饰,对于volatile 修饰的字段,可以防止指令重排。