首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

单例推延实例化

2013-01-26 
单例延迟实例化1.如果出于性能的考虑而需要对实例域使用延迟初始化,就使用双重检查模式(double-check idio

单例延迟实例化


1.如果出于性能的考虑而需要对实例域使用延迟初始化,就使用双重检查模式(double-check idiom)。这种模式避免了在域被初始化后访问这个域时的锁定开销。注意到实例域使用了volatile修饰符。

    // Lazy Initialization holder class idiom for static fields      private static class FieldHolder {          static final FieldType field = computeFieldValue();      }      static FieldType getField() { return FieldHolder.field;}  

这种模式的魅力在于getField方法没有被同步,因此延迟初始化实际上并没有增加任何访问成本。

热点排行