Kolekcje Java i Garbage Collector
Małe pytanie dotyczące wydajności w aplikacji internetowej Java.
Załóżmy, że mamList<Rubrique>
listRubriques
z dziesięciomaRubrique
przedmioty.
A Rubrique
zawiera jedną listę produktów (List<product>
listProducts
) i jedna lista klientów (List<Client>
listClients
).
Co dokładnie dzieje się w pamięci, jeśli to zrobię:
listRubriques.clear(); listRubriques = null;
Mój punkt widzenia byłby taki, ponieważlistRubriques
jest pusty, wszystkie moje obiekty, do których poprzednio odwołuje się ta lista (w tymlistProducts
ilistClients
) wkrótce zostaną zebrane śmieci. Ale ponieważ Kolekcja w Javie jest trochę skomplikowana i ponieważ mam dość problemy z wydajnością z moją aplikacją, zadaję pytanie :)
edytować : Załóżmy teraz, że mój obiekt klienta zawieraList<Client>
. Dlatego między obiektami mam rodzaj odwołania cyklicznego. Co by się wtedy stało, gdyby mójlistRubrique
jest ustawione nanull
? Tym razem moim punktem widzenia będzie to, że obiekty mojego Klienta staną się „nieosiągalne”moc utworzyć wyciek pamięci?