ArrayList<Object> foo;
Object[] bar;
finalizzatori tipici farannoJava finalizzatori, quali compiti sono realmente necessari
foo = null;
bar = null;
La mia domanda, sarà ArrayList chiamare un wich finalizzatore imposta tutti i puntatori che detiene a nulla, o devo fare un passo attraverso il elencare un do
for(i=1; i<foo.size(); i++) foo.set(i,null); ???
E l'altra domanda: per una serie, ho bisogno di impostare qualsiasi dei suoi contenuti a nulla, come
for(i=1; i<bar.length; i++) bar[i] = null;
o è sufficiente che l'intero blocco di memoria viene scartato e qualsiasi puntatore fuori del campo di applicazione dopo?
Siamo spiacenti, se la domanda è stupida.
Dopo aver letto le risposte ho capito, che non c'è nulla di implementare lì da soli.
Alcune fonti suggeriscono che se una cosa del genere (applicazioni di memoria di mangiare) accade, che questo è di cattivo design.
La mia domanda principale è: fare spesso
struct = new LargeStructure();
fa questa memoria exaust?
O questo solo bisogno il ricordo di una di queste strutture?
proposito: Il problema occours in un gatto esecuzione webapp, e c'è solo goduto una sessione attiva tiene il puntatore descritto come variabile di sessione.
se imposto foo = null; willl qualsiasi sottostruttura i riferimenti vengono automaticamente cancellati o rimarranno nella memoria – user715484
Ho capito i finalizzatori come una routine, che imposta tutte le sotto strutture su null per renderle elegibili per la garbage collection – user715484
Speravo davvero di poter risolvere un problema con grandi strutture dati che non vengono liberate. – user715484