Небольшой вопрос относительно производительности в веб-приложении Java.
Предположим, что у меня есть List<Rubrique>
listRubriques
с десятью объектами Rubrique
.
A Rubrique
содержит один список продуктов (List<product>
listProducts
) и один список клиентов (List<Client>
listClients
).
Что именно происходит в памяти, если я это делаю:
listRubriques.clear(); listRubriques = null;
Моя точка зрения будет заключаться в том, что, поскольку listRubriques
пуст, все мои объекты, ранее упомянутые этим списком (включая listProducts
и listClients
), будут собираться с мусором в ближайшее время. Но так как сборка на Java немного сложна, и поскольку у меня проблемы с производительностью с моим приложением, я задаю вопрос:)
edit: допустим, что мой объект Client содержит List<Client>
. Поэтому у меня есть круговая ссылка между моими объектами. Что произойдет, если мой listRubrique
установлен на null
? На этот раз моя точка зрения будет заключаться в том, что объекты моего Клиента станут "недоступными" и могут создать утечку памяти?