清空集合(在我的情况下是一个ArrayList)与创建一个新集合(并让垃圾收集器清除旧集合)的优点和缺点是什么.
具体来说,我有一个ArrayList<Rectangle>叫list.当某种情况发生时,我需要清空list并用其他内容重新填充.我是应该打电话list.clear()还是只是制作一个新的ArrayList<Rectangle>并让旧的垃圾收集?每种方法的优缺点是什么?
关于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是空的,所以此列表之前引用的所有对象(包括listProducts和listClients)很快就会被垃圾收集.但是因为Java中的Collection有点棘手,因为我的应用程序存在相当大的性能问题,我问的问题是:)
编辑:我们现在假设我的客户端对象包含一个List<Client>.因此,我的对象之间有一个循环引用.如果我listRubrique被设置为什么会发生什么null?这一次,我的观点是我的客户端对象将变得"无法访问"并可能造成内存泄漏?