2016年4月24日

双重检查锁定和延迟初始化

摘要: 双重检查锁定的由来 在Java程序中,有时需要推迟一些高开销的对象的初始化操作,并且只有在真正使用到这个对象的时候,才进行初始化,此时,就需要延迟初始化技术。 延迟初始化的正确实现是需要一些技巧的,否则容易出现问题,下面一一介绍。 方案1 public class UnsafeLazyInit{ p 阅读全文

posted @ 2016-04-24 10:30 HuMingChuan 阅读(638) 评论(0) 推荐(1) 编辑

Java可见性机制的原理

摘要: 基本概念 可见性 当一个线程修改了共享变量时,另一个线程可以读取到这个修改后的值。 内存屏障(Memory Barriers) 处理器的一组指令,用于实现对内存操作的顺序限制。 缓冲行 CPU告诉缓存中可以分配的最小存储单位,处理器填写缓存行时,会加载整个缓存行。 Lock前缀的指令 Lock前缀的 阅读全文

posted @ 2016-04-24 09:16 HuMingChuan 阅读(8469) 评论(0) 推荐(0) 编辑

导航