相关疑难解决方法(0)

清空一个ArrayList或者只是创建一个新的ArrayList并将其旧的垃圾收集?

清空集合(在我的情况下是一个ArrayList)与创建一个新集合(并让垃圾收集器清除旧集合)的优点和缺点是什么.

具体来说,我有一个ArrayList<Rectangle>list.当某种情况发生时,我需要清空list并用其他内容重新填充.我是应该打电话list.clear()还是只是制作一个新的ArrayList<Rectangle>并让旧的垃圾收集?每种方法的优缺点是什么?

java collections garbage-collection arraylist

38
推荐指数
2
解决办法
3万
查看次数

Java集合和垃圾收集器

关于Java Web应用程序性能的一个小问题.

我们假设我有List<Rubrique> listRubriques十个Rubrique对象.

A Rubrique包含一个products(List<product> listProducts)列表和一个clients(List<Client> listClients)列表.

如果我这样做,内存中究竟会发生什么:

listRubriques.clear(); listRubriques = null;
Run Code Online (Sandbox Code Playgroud)

我的观点是,因为listRubriques是空的,所以此列表之前引用的所有对象(包括listProductslistClients)很快就会被垃圾收集.但是因为Java中的Collection有点棘手,因为我的应用程序存在相当大的性能问题,我问的问题是:)

编辑:我们现在假设我的客户端对象包含一个List<Client>.因此,我的对象之间有一个循环引用.如果我listRubrique被设置为什么会发生什么null?这一次,我的观点是我的客户端对象将变得"无法访问"并可能造成内存泄漏?

java collections performance garbage-collection

13
推荐指数
2
解决办法
9672
查看次数