gpt4 book ai didi

java - 什么更有效率?清空一个对象还是创建一个新对象?

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:37 25 4
gpt4 key购买 nike

"new"有多贵?我的意思是,我应该以重用同一个对象为目标,还是如果该对象“超出范围”,则与清空它一样?

例如,假设一个方法创建了一个列表:

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

在方法的末尾,列表不再被使用——这是否意味着不再有内存分配给它,或者它是否意味着有一个空指针指向它(因为它是“创建的”)。

或者,我可以向该方法发送一个“列表”,并在方法结束时使用以下方法将其清空: ?

谢谢!

最佳答案

它是一个数组列表,因此创建一个新对象意味着分配一 block 内存并将其清零,再加上任何簿记开销。清除列表意味着将内存归零。这种观点会让您相信清除现有对象会更快。但是,JVM 可能经过优化以加快内存分配速度,因此这些可能都不重要。所以只需编写清晰、可读的代码,不要担心。这毕竟是 java,不是 c。

关于java - 什么更有效率?清空一个对象还是创建一个新对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com