+ -
当前位置:首页 → 问答吧 → 下面的代码会不会产生内存溢出?

下面的代码会不会产生内存溢出?

时间:2011-12-15

来源:互联网

Map map=new LinkedHashMap();//linkedHashMap按set进去先后顺序排序的
while(iter.hasNext()){
Quest quest = iter.next();
List<QuestOption> list = trainPlanService.findQuestOption(quest);
map.put(quest, list);
}

return map;

//按照网上的说法,list变量没有被map持有,不会被释放
建议改成 :map.put(quest,trainPlanService.findQuestOption(quest)) ??

作者: lzzgym   发布时间: 2011-12-15

试试WeakHashMap?

作者: chensuper   发布时间: 2011-12-15

或者自己设计一个容器存储。

作者: chensuper   发布时间: 2011-12-15

局部变量的作用域在{}里
除了{}这个范围后,GC会自动回收的
所以不用管它

作者: dxqrr   发布时间: 2011-12-15