当我执行包含 2 个循环的程序时,其中一个嵌套在另一个循环中,我收到此错误 OutOfMemoryError java heap space。我一直在寻找解决方案一周但没有结果。我知道可能问题在于在我的循环中创建实例所以它需要大量的 memory.son 导致内存泄漏。我尝试增加内存大小,但这还不够。我的问题是如何在不使用大量内存的情况下开发相同的程序。这是我的程序。
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;
}