来自 C 背景,我有一个非常基本的问题:是否按较大数据类型(如字符串数组)的值传递调用类似于 java 中的复制构造函数的东西。
那么这段代码是否会通过在list2中复制列表而导致在内存中创建重复列表。从而使内存和 CPU 利用率加倍。
String[] getList() {
String[] list = new String...
...
return list;
}
String [] list2 = getList();
我的假设正确吗?如果是,是否有替代方法,例如在 C 中传递指针。
PS:如果我们让垃圾收集器完成清理额外内存的工作,这不会是另一组 CPU 使用循环清理内存的循环,而这些循环一开始就不应该创建。