Colecciones Java y recolector de basura
Una pequeña pregunta sobre el rendimiento en una aplicación web Java.
Supongamos que tengo unList<Rubrique>
listRubriques
con diezRubrique
objetos.
A Rubrique
contiene una lista de productos (List<product>
listProducts
) y una lista de clientes (List<Client>
listClients
).
¿Qué sucede exactamente en la memoria si hago esto?
listRubriques.clear(); listRubriques = null;
Mi punto de vista sería que, desdelistRubriques
está vacío, todos mis objetos mencionados anteriormente en esta lista (incluyendolistProducts
ylistClients
) se recogerá la basura muy pronto. Pero como Collection en Java es un poco complicado y como tengo problemas de rendimiento con mi aplicación, estoy haciendo la pregunta :)
editar: Supongamos ahora que mi objeto Cliente contiene unaList<Client>
. Por lo tanto, tengo una especie de referencia circular entre mis objetos. ¿Qué pasaría entonces si milistRubrique
se establece ennull
? Esta vez, mi punto de vista sería que los objetos de mi Cliente se volverán "inalcanzables" ypodría crear una pérdida de memoria?