有人可以幫我優化這段代碼嗎?有什麼辦法可以改進這個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並不是那麼多)。 –