----- 20/4/05 ----- > [In] questo frammento di codice Java: for (i = 1; i<5; i++) { int [] A = new int [10]; ... // codice che inizializza e cambia i valori dell'array A ... *** } > vorrei sapere se ad ogni iterazione del ciclo l'array A viene > sostituito con un nuovo array Ad ogni applicazione dell'operatore "new" viene creato un nuovo oggetto, in questo caso un array. Se quelli vecchi non servono piu' (come sembrerebbe dalla dichiarzione locale al corpo del ciclo), e se la dimensione e' sempre la stessa (o se puo' essere impostata una dimensione massima in termini ragionevoli), allora potrebbe essere meglio creare l'array una volta per tutte prima di eseguire il ciclo. > o se vengono mantenuti in memoria tutti gli array creati. Il programmatore Java non deve preoccuparsi di gestire l'allocazione e deallocazione delle strutture in memoria: questa e' una scelta di progetto di Java, il cui obiettivo e' evitare i frequenti errori che possono essere causati deallocando male la memoria. > Nel secondo caso, possibile richiamare nella posizione contrassegnata > da *** il Garbage Collector o qualche altro tipo di funzione/metodo per > eliminare dalla memoria gli array precedentemente creati? Quando e' necessario il garbage collector viene attivato automaticamente, senza la necessita' di un comando esplicito. ----- * -----