当我执行我的程序包含2个循环,其中一个嵌套在另一个中时,我得到了这个错误OutOfMemoryError java heap space.i一直在寻找解决方案一周但没有结果。我知道可能问题在于创建实例我的循环因此需要大量的memory.son导致memmory leak.i尝试增加内存大小但这还不够。我的问题是如何在不执行大量内存的情况下开发相同的程序。这是我的程序。
public String getAllActionsJson(){
//liste des actions de la table action
List<Action> actions = actionService.getAllActions();
//liste onglets de la table typeAction
List<TypeAction> typesActions=actionService.getTypeActions();
ActionNoeudJson actionRacine = null;
ActionNoeudJson actionFeuille = null;
List<ActionNoeudJson> listeFilles = null;
for(int i=0;i<typesActions.size();i++)
{
listeFilles = new ArrayList<ActionNoeudJson>();
actionRacine=new ActionNoeudJson();
actionRacine.setId(typesActions.get(i).getId());
actionRacine.setText(typesActions.get(i).getLibelle());
for(int j=0;j<actions.size();j++)
{
//si le type de l'action est le meme que le type de l'onglet
//on affecte actionFeuille à la racine courante(onglet approprié)
if(typesActions.get(i).getId()==actions.get(j).getTypeAction().getId())
{
actionFeuille = new ActionNoeudJson();
actionFeuille.setId(actions.get(j).getId());
actionFeuille.setText(actions.get(j).getLibelle());
actionFeuille.setIconCls("icon-tip");
listeFilles.add(actionFeuille);
actionRacine.setChildren(listeFilles);
}
}
listeActions.add(actionRacine);
}
return ActionSupport.SUCCESS;
}