单例延迟实例化
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;}