双重校验锁单例模式,volatile修饰

双重校验锁单例模式 使用volatile做用 1.保持可见性 2.防止指令重排 下面代码 upSingleton = new Singleton(),其实会分为三步执行web 为 uniqueInstance 分配内存空间 初始化 uniqueInstance 将 uniqueInstance 指向分配的内存地址 但jvm指令重排可能会致使执行顺序为1->3->2,若是在多线程的状况下,会返回没有
相关文章
相关标签/搜索