
目录1.数组内存分布2.数组和数组之间的赋值2.1 例子 ①2.2 验证 ①2.3 例子 ②2.4 验证 ②3.数组的用途1.数组内存分布inta1;intb2;int[]arrnewint[]{1,2,3};引用变量并不存储对象本身存储的是堆区的地址通过地址引用变量操作对象。2.数组和数组之间的赋值2.1 例子 ①int[]arr1newint[]{1,2,3,4};System.out.println(Arrays.toString(arr1));int[]arr2arr1;arr2[0]100;System.out.println(Arrays.toString(arr1));System.out.println(Arrays.toString(arr2));这段代码的结果是什么这段代码的内存布局是什么样的2.2 验证 ①int[]arr1{1,2,3,4};int[]arr2arr1;System.out.println(赋值前);System.out.println(arr1);System.out.println(arr2);System.out.println(赋值后);System.out.println(arr1);System.out.println(arr2);2.3 例子 ②int[]arr1{1,2,3,4};int[]arr2{6,7,8,9,10};arr1arr2;System.out.println(Arrays.toString(arr1));System.out.println(Arrays.toString(arr2));这段代码的结果是什么这段代码的内存布局是什么样的堆区的空间没被引用就自动被JVM回收。2.4 验证 ②int[]arr1{1,2,3,4};int[]arr2{6,7,8,9,10};System.out.println(赋值前);System.out.println(arr1);System.out.println(arr2);arr1arr2;System.out.println(赋值后);System.out.println(arr1);System.out.println(arr2);3.数组的用途作为方法的返回值带会结果。返回的是指向对象的堆区的地址让外面的引用变量通过地址访问数据。publicstaticint[]func(){int[]tmp{1,2,3,4};returntmp;}publicstaticvoidmain(String[]args){int[]retfunc();System.out.println(Arrays.toString(ret));}注意点1. 引用变量是在main函数中的是局部变量函数结束内存自动被回收。2. 引用变量指向的对象在堆区的空间不是局部变量是直到没有引用变量指向它时才会被回收。