- 对静态域使用延迟初始化
public class FieldType{
private static class FieldHolder{
static final FieldType field = computeFieldValue();
}
static FieldType getField(){
return FieldHolder.field;
}
}
- 对实例域使用延迟初始化
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》摘抄的全部内容,更多相关延迟初始化的两种方式内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复