java – 更高效?清空一个对象或创建一个新对象?

“新”多贵?我的意思是说,我是否应该重新使用同一个对象,或者如果对象“超出范围”,那么它是否排空呢?

例如,说一个方法创建一个列表:

List<Integer> list = new ArrayList<Integer>();

方法结束时,列表不再被使用 – 这是否意味着没有内存分配给它,或者这意味着它有一个空指针(因为它是“创建”).

或者,我可以向方法发送一个“列表”,并在方法结束时将其清空:list.removeAll(list);会不会从内存的角度出发?

谢谢!

解决方法

它的一个数组列表,所以创建一个新的对象意味着分配一块内存和归零,加上任何簿记开销.清除列表意味着清零内存.这种观点将导致您相信清除现有对象更快.但是,JVM很可能被优化以使内存分配快速,所以可能不重要.所以只要写清楚,可读的代码,不用担心.毕竟这是java,不是c.

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量