架构师训练营第三周课后作业
手写单例,当然除了如下两种方式,还有静态内部类的方式、枚举类的方式。
通过静态初始化(勤快模式,没使用先创建)
通过 double check 创建(懒惰模式,使用时候再创建),不过下面因为没有 volatile 关键字,会因初始化指令重排导致问题。
有 volatile 关键字的版本
手写单例,当然除了如下两种方式,还有静态内部类的方式、枚举类的方式。
通过静态初始化(勤快模式,没使用先创建)
通过 double check 创建(懒惰模式,使用时候再创建),不过下面因为没有 volatile 关键字,会因初始化指令重排导致问题。
有 volatile 关键字的版本
评论