https://www.infoq.cn/article/double-checked-locking-with-delay-initialization
同步方法, 适用于不被多个线程频繁的调用
延迟加载, 但是效率低
基于类初始化的解决方案
JVM 在类的初始化阶段(即在 Class 被加载后,且被线程使用之前),会执行类的初始化。在执行类的初始化期间,JVM 会去获取一个锁。这个锁可以同步多个线程对同一个类的初始化。
延迟加载, 效率高
懒汉式6——用枚举——推荐使用
https://www.hollischuang.com/archives/2498
效率高,不会延迟加载