“新”多贵?我的意思是说,我是否应该重新使用同一个对象,或者如果对象“超出范围”,那么它是否排空呢?
例如,说一个方法创建一个列表:
List<Integer> list = new ArrayList<Integer>();
在方法结束时,列表不再被使用 – 这是否意味着没有内存分配给它,或者这意味着它有一个空指针(因为它是“创建”).
或者,我可以向方法发送一个“列表”,并在方法结束时将其清空:list.removeAll(list);会不会从内存的角度出发?
谢谢!
它的一个数组列表,所以创建一个新的对象意味着分配一块内存和归零,
加上任何簿记开销.清除列表意味着清零内存.这种观点将导致您相信清除现有对象更快.但是,JVM很可能被优化以使内存分配
快速,所以可能不重要.所以只要写清楚,可读的
代码,不用担心.毕竟这是java,不是c.