面试题整理(5)

每天五道面试题!只记录答案,不标出源码,有什么不对的地方欢迎评论,共同进步。 1. 单例模式的双重检查锁为什么要加volatile?   因为对象创建的过程不是一个原子性操作。   对象创建过程分为三个步骤:1、申请内存。2、执行构造方法,给成员变量赋值。3、将创建的对象地址给引用变量。   其中步骤2,3是可能发生指令重排序的,如果发生3在2之前,就会出现检查发现引用变量不为null,之后直接返
相关文章
相关标签/搜索