DeathWhispers

死磕Java并发:Java内存模型之从JMM角度分析DCL

1. 问题分析 我们先看单例模式里面的懒汉式: 我们都知道这种写法是错误的,因为它无法保证线程的安全性。优化如下: 优化非常简单,就是在#getInstance()方法上面做了同步,但是synchronized就会导致这个方法比较低效,导致程序性能下降,那么怎么解决呢?聪明的人们想到了双重检查 DCL: 就如上面所示,这个代码看起来很完美,理由如下: 如果检查第一个singleto...