Buongiorno a tutti,
mi viene generata la seguente eccezione
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:2760) at java.util.Arrays.copyOf(Arrays.java:2734) at java.util.ArrayList.ensureCapacity(ArrayList.java: 167) at java.util.ArrayList.addAll(ArrayList.java:474) at
codice.Coppia.addGamma(Coppia.java:65)
at codice.VettoreDescrittivo.getStatiSticheCoppie(Vet toreDescrittivo.java:136)
at codicee.Main.main(Main.java:49)
Questa eccezione viene generata all'interno del metodo getStatiSticheCoppie dopo diverse iterazioni del for che lo richiama.
Al termien di ogni iterazione io metto a null l'arraylist che restituisce il metodo il Garbage Collector.
Il metodo getStatiSticheCoppie ha più o meno questa struttura
codice:
ArrayList<Coppia> featureCoppie= new ArrayList<Coppia>();
for(String parola: parole){
etc..
for(CoppiaStroke coppia: coppie) {
etc..
featureCoppie.get(featureCoppie.indexOf(coppia)).addGamma(coppia.getGamma());
}
}
Il metodo addGamma invece
codice:
public void addGamma(ArrayList<Float> gamma) {
this.numero=this.numero+gamma.size();
this.gamma.addAll(gamma);
}
Cosa posso fare? Io di fatto ad ogni iterazione elimino quel arraylist.. quindi non capisco perché poi vada in out of memory. Ho provato anche con un clear dell'arraylist prima di metterlo a null ma niente...