Uso di Java (1.6) è meglio chiamare il metodo clear() su una lista o semplicemente ricomporre il riferimento?Migliore pratica per riattivare una lista o invocare clear()
Ho una lista di array che è piena di un numero sconosciuto di oggetti e periodicamente "svuotata" - dove gli oggetti vengono elaborati e l'elenco è cancellato. Una volta scaricato, l'elenco viene riempito di nuovo. Il colore si verifica in un momento casuale. Il numero all'interno dell'elenco può essere potenzialmente piccolo (10 s di oggetti) o grande (milioni di oggetti).
Quindi è meglio avere la chiamata "flush" clear() o la nuova ArrayList()?
Vale la pena di preoccuparsi di questo tipo di problemi o dovrei lasciarmi preoccupare dalla VM? Come potrei andare a guardare l'impronta della memoria di Java per far funzionare questo genere di cose per me stesso?
Qualsiasi aiuto molto apprezzato.
Nota La risposta di Jon relativa alla porzione di ottimizzazione: se si ha a che fare con un'intensità elevata e c'è una lentezza, quindi tracciarlo. Se il problema è chiaro, puoi provare a cambiarlo per creare una nuova lista. Altrimenti, usa quello che è il più semanticamente corretto, cioè ciò che il codice sta effettivamente cercando di fare. – aperkins
relative alle prestazioni: [map-clear-vs-new-map-which-one-will-be-better] (http://stackoverflow.com/questions/6757868/map-clear-vs-new-map-which- one-will-be-better) – nawfal