Java 数组引用与垃圾回收:示例与思考
public class Example26 { public static void main(String[] args) { int[] arr = new int[3]; // 定义一个长度为3的数组 arr[0] = 5; // 为数组的第一个元素赋值 System.out.println('arr[0]=' + arr[0]); // 访问数组的元素 arr = null; // 将变量arr置为null System.out.println('arr[0]=' + arr[0]); // 访问数组的元素 } }
思考题:执行第6行代码后,原数组[5, 0, 0]还存在吗?如果存在,该如何访问?如果不存在,该数组去哪里了?
执行第6行代码后,原数组[5, 0, 0]还存在,只是变量arr不再引用它。要访问该数组可以通过其他变量引用它,或者使用arr变量重新指向它。
如果不存在任何引用指向该数组,那么该数组将成为垃圾数据,等待垃圾回收器回收。
原文地址: https://www.cveoy.top/t/topic/mtcE 著作权归作者所有。请勿转载和采集!