Se devo codice simile al seguente:Garbage Collection quando le variabili finali utilizzati nelle classi anonime
public Constructor(final Object o) {
taskSystem.add(new CycleTask(15, 15, -1) {
@Override
public void execute() throws Throwable {
//access o here every 15 cycles forever
}
});
}
Quando sarebbe o essere garbage collection, se mai? Solo quando il compito è stato raccolto, o rimarrà in memoria per sempre perché è definitivo?
Questo non è molto ben espresso. Lo "spazio abitativo" dovrebbe essere "a vita". Ovviamente il chiamante del metodo deve avere un riferimento e l'istanza della classe anonima ne ha un'altra. La parola chiave 'finale' vieta qualsiasi modifica a quella * variabile * dopo l'inizializzazione, * durante * l'esecuzione del metodo, che è il suo intero scopo. – EJP