【发布时间】:2016-12-12 16:39:24
【问题描述】:
在 arrayList 中添加值时出现“线程“主”java.lang.OutOfMemoryError:Java 堆空间中的异常”异常。这只是一个例子
public class Test {
public static void main(String[] args)
{
Test t= new Test();
ArrayList<ArrayList<String>> deleteError = new ArrayList<ArrayList<String>>();
for(TableItem item : items) // loop moves 800 times
{
for(String Element_ID : checkelementID) // another loop which check element ids which moves for 800 again
{
t.deleteErrorInArrayList("1", "GEN_err", "11", deleteError);
t.deleteErrorInArrayList("1", "Greater_than", "11", deleteError);
t.deleteErrorInArrayList("1", "GEN_err", "16", deleteError);
t.deleteErrorInArrayList("1", "Greater_than", "16", deleteError);
}
}
}
public void deleteErrorInArrayList(String rowID,String message,String column,ArrayList<ArrayList<String>> mainlist)
{
ArrayList<String> list = new ArrayList<String>();
list.add(rowID);
list.add(message);
list.add(column);
mainlist.add(list);
list = null;
}
}
请帮助我。如何优化上述代码,以便我可以减少时间并消除异常。
【问题讨论】:
标签: java performance out-of-memory heap-memory