Usando Java (1.6) ¿es mejor llamar al método clear() en una lista o simplemente volver a crear una instancia de la referencia?Mejor práctica para volver a crear una instancia de una lista o invocar clear()
Tengo una ArrayList que está llena de un número desconocido de Objetos y periódicamente "limpiado" - donde se procesan los Objetos y se borra la Lista. Una vez purgado, la Lista se completa nuevamente. El color ocurre en un momento aleatorio. El número dentro de la Lista puede ser potencialmente pequeño (10s de Objetos) o grande (millones de objetos).
Entonces, ¿es mejor tener la llamada "flush" clear() o nueva ArrayList()?
¿Vale la pena preocuparse por este tipo de problemas o debería dejar que el VM se preocupe por ello? ¿Cómo podría ir sobre la huella de memoria de Java para resolver este tipo de cosas por mí mismo?
Cualquier ayuda muy apreciada.
Observe la respuesta de Jon con respecto a la parte de optimización: si se trata de alta intensidad y hay lentitud, perfile. Si el problema está en la claridad, entonces puede probar fácilmente cambiarlo para crear una nueva lista. De lo contrario, use lo que es semánticamente correcto, es decir, lo que el código realmente intenta hacer. – aperkins
rendimiento relacionado: [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