有人可以帮我优化这段代码吗?有什么办法可以改进这个Java代码?
public final List<Double> Imprve() {
List<Double> locDbValueList = new LinkedList<Double>();
for (int i = 0; i < 50000; ++i) {
Calendar locMyCalendar = new GregorianCalendar();
locDbValueList.add(getNewDbValue(locMyCalendar.get(Calendar.YEAR), i));
}
updateList(locDbValueList) ;
Integer locResult = 0 ;
for (int i = 0; i < locDbValueList.size(); ++i) {
final Integer locTempVal = doOperation(locDbValueList.get(i));
if (locTempVal != null) {
locResult += locTempVal;
}
}
applyResult(locResult) ;
return locDbValueList;
}
private Double getNewDbValue(int parYear, int parIdx) { … }
private void updateList(List<Double> valList) { … } //Modifies value not size
private int doOperation (Double parDbRefValue) { … }
private void applyResult (int parIntValue) { … }*
我想修改类Imprve来提高函数的实时性。
您是否尝试过分析代码? – NPE
如果您想优化此代码,请获取一个分析器并自行完成。如果您想要查看代码,请尝试http://codereview.stackexchange.com/ – amaidment
如果您尚未描述外部功能,我们如何提出建议?说,getNewDbValue()是做什么的?它访问数据库吗?一次检索一个值是非常低效的。一次检索它们(50000并不是那么多)。 –