好久没有写文章了,因为报名了某个架构课程,最近也是花了时间在去学习,学习各种源码。
在源码级别的项目中,单例模式的使用非常频繁,有人可能说单例模式烂大街了,只要是个开发工程师都知道。
那我问你几个问题:
1、单例模式有几种方式,写的越多越好?
2、如何写一个线程安全性的单例模式呢?
关于这几个问题,你可以从下面的文章去找到答案。分析的挺好的。
但是关于最后一块线程安全性的保障,源码级别通常都是 Double check + volatile,比静态内部类更便捷。
变量为什么使用 volatile 在上面的文章中也没有说清楚,其实 volatile 主要保证了变量内存模型的一个可见性和有序性。
具体的内容,等我后续有时间会写并发相关的文章,但应该是明年的事情了。
如果想深入学习 volatile 相关知识,推荐学习儒猿技术窝面试突击系列,JVM、MySQL、Rocket MQ 专栏也非常推荐。如果大家有什么疑问,可以关注我的公众号:小李不秃,只要有时间就会统一进行回复的。