一个小问题关于一个Java web应用程序的性能。Java集合和垃圾收集
我们假设我有一个List<Rubrique>
listRubriques
十个Rubrique
对象。
一个Rubrique
包含的产品之一名单(List<product>
listProducts
)和客户端的一个列表(List<Client>
listClients
)。
如果我这样做到底发生了内存:
listRubriques.clear(); listRubriques = null;
我的观点是,由于listRubriques
是空的,我以前这个列表中引用的所有对象(包括listProducts
和listClients
)会垃圾收集很快。但由于收集的Java是有点棘手,因为我有我的应用我要问的问题:)
编辑相当的性能问题:现在让我们假设,我的客户对象包含List<Client>
。因此,我在我的对象之间有一种循环引用。如果我的listRubrique
设置为null
,那么会发生什么?这一次,我的观点是,我的客户对象将变成“无法访问”和可能创建一个内存泄漏?
小心:你的第一句话描述了当前实施了Sun JVM的。这通常不是关于Java的说法。尽管答案的其余部分似乎一般适用。 – 2010-03-08 15:05:43
感谢您的提示,我改变了第一句话。 – Mnementh 2010-03-08 15:16:25