我是靠谱客的博主 无辜眼神,这篇文章主要介绍延迟初始化的两种方式 《Effective Java》摘抄,现在分享给大家,希望可以做个参考。

  1. 对静态域使用延迟初始化
    public class FieldType{
        private static class FieldHolder{
            static final FieldType field = computeFieldValue();
        }
        static FieldType getField(){
            return FieldHolder.field;
        }
    }
  1. 对实例域使用延迟初始化
    public class FieldType{
        private volatile FieldType field;
        FieldType getField(){
            FieldType result = field;
            if (result == null){
                synchronized (this){
                    result = field;
                    if (result == null){
                        field = result = computeFieldValue();
                    }
                }
            }
            return result;
        }
    }

最后

以上就是无辜眼神最近收集整理的关于延迟初始化的两种方式 《Effective Java》摘抄的全部内容,更多相关延迟初始化的两种方式内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(155)

评论列表共有 0 条评论

立即
投稿
返回
顶部