Salve a tutti,
se ho un istruzione del tipo:

codice:
while (it.hasNext()) {			
			lista_nodi2 = new ArrayList<Vertex>(insieme_nodi);
Ora ovviamente ad ogni iterazione del ciclo while associa all'etichetta "lista_nodi2" una nuova struttura dati. Di regola Java dovrebbe disallocare automaticamente le strutture dati non più indirizzabili mediante il garbate collector?

Eppure dopo qualche minuto di esecuzione continua del programma mi da eccezione dicendomi che la memoria dell'heap è terminata.
Non ce un modo per disallocarle manualmente? oppure magari per riutilizzare sempre la stessa lista?