java:单例模式

来源:互联网 发布:yy制作头像软件 编辑:程序博客网 时间:2024/06/14 09:50

双重校验锁

public class DCLSingle {    private volatile static DCLSingle instance;    private DCLSingle(){    }    public static DCLSingle getInstance(){        if(instance == null){            synchronized(DCLSingle.class){                intance = new DCLSingle();            }        }    return instance;    }}

class文件中方法的字节码流就是由JVM的指令序列构成的。
Jdk5 以后支持处理器乱序执行 汇编指令。
导致 指向地址和实例化堆区 顺序不同。
所以必须加上volatile关键字。

原创粉丝点击