1 public class Array_Memory { 2 public static void main(String[] args) { 3 int[] a = {3,4,66,5};//定义了一个数组 4 5 int[] b = a;//将a这个数组的地址值赋给了b,a和b就好像公用了以台电脑 6 b[2] = 77;//b把一角标的值该为77; 7 a = null;//a不再指向该数组,但是b还在指向该数组,就好像a不用这台电脑了但b还再用,所以内存中没有垃圾,因为数组还有人在使用。 8 System.out.println(b[2]);//b仍然可以用该数组. 9 } 10 }
局部代码块,用于限定局部变量的生命周期
{ int age = 7; } //System.out.println(age);//不能再访问age了,因为age已经释放了
内存的划分:
1.寄存器
2.本地方法区
3.方法区
4.栈内存 存储的都是局部变量,而且变量所属的作用域一旦结束,该变量就自动释放
5.堆内存 存储的是数组,对象(其实数组就是一个对象),用new创建的都存储在堆内存中
特点:每个实体都有首地址值 堆内存中的每个变量都有默认初始化值
时间: 2024-12-24 19:07:16