image.png
    1 防止子类继承,重写
    2 需要加入object readResovle()这个方法
    3 设置私有防止多个重复调用构造参数 ,,反射可以创建。
    4 加了static修饰的变量是在类加载时执行的
    5 可以提供更多的变化
    image.png

    1. 防止指令重排序
    2. 这样减少synchronized的范围,增加性能
    3. 如果刚开始,两个线程同时进入synchronized,一个阻塞,一个运行。

    运行完后,INSTANCE已经赋值,并且主存已经存在。阻塞再运行,需要判断一下,不然会创建多个对象

    image.png
    1.懒汉式。getInstance在调用时,我们才会类加载LazyHolder这个类,才会加载这个INSTANCE
    2.没有