我有一個應用程序,其中java.util.LinkedList $ Entry對象的數目似乎在穩步增加。此應用程序包含一個方法,其中包含以下代碼:
final List<Boolean> correctnessList = new ArrayList<Boolean>();
final List<Double> discriminationList = new ArrayList<Double>();
final List<Double> difficultyList = new ArrayList<Double>();
final List<Double> guessingList = new ArrayList<Double>();
.
.
.
for (ItemData datum : candidateItemData) {
.
.
.
correctnessList.add(datum.isCorrect);
discriminationList.add(iRTParameter.discrimination);
difficultyList.add(iRTParameter.difficulty);
guessingList.add(iRTParameter.guessing);
.
.
.
}
包含此代碼的方法稱爲很多次。當然,每次方法返回時,List對象都會超出範圍,並且可能用於垃圾回收。
但是,正如我所說的,java.util.LinkedList $ Entry對象的數量似乎在穩步增加。
我在這裏創建了內存泄漏嗎?我應該在方法末尾的List對象上調用一些方法,以便LinkedList $ Entry對象可以被垃圾回收?
它出現在這段代碼中,你使用'ArrayLists',而不是'LinkedLists'。您可以在此處發佈時發生錯誤嗎? – 2011-03-14 15:41:21
你在這裏使用ArrayLists,而不是LinkedList。 – 2011-03-14 15:43:18
有一個機會,你看着錯誤的代碼塊。應該有'LinkedList'填充'ArrayList'的數量'LinkedLiset $ Entry's的數量不斷增加。你爲什麼認爲這個代碼塊是問題之一? – Simeon 2011-03-14 15:44:15