Java引用实例变量而不是整个映射

时间:2013-04-26 20:30:03

标签: java performance

有人在我的代码中提出了保存值的建议 HEADER_PROPERTY而不是整个属性映射。首先,我是 对这有什么好处感到困惑,其次我对如何做到这一点感到困惑。 this.properties引用用户在前端输入的属性。 Valuemap 是一种访问资源属性的方法。 GetHeaderMessage只输出

的值
private static final String HEADER_PROPERTY = "header-msg";  
private ValueMap properties = null;
private static final String getHeader = this.properties.get(HEADER_PROPERTY, "");

public void setProperties(ValueMap properties){
this.properties = properties;
}

public String getHeaderMessage(){               
String headerMessage = this.properties.get(HEADER_PROPERTY);
return headerMessage;
}

1 个答案:

答案 0 :(得分:1)

这是一个潜在的优化,因为您每次调用{Value}时都会读取该值,以获得我们猜测的是一个静态值,它在初始化后永远不会改变?如果getHeaderMessage()的实现在每次访问时从硬盘读取,并且在每次加载页面时调用ValueMap,那可能会非常浪费。这可能是一个简单的改变:

getHeaderMessage()

当然,如果该地图的内容在初始化后确实发生了变化,那么它就无济于事了。