(十九)数组的内存分配

  • 数组的内存分配
    • java运行时,jvm(java虚拟机)会把内存分为5个区域
    • 堆,栈,方法区,本地方法区,寄存区
      • 栈:先进后出,局部变量进栈(在函数中定义的变量,在语句中定义的变量,for循环中定义的变量)
        • 局部变量的作用于一旦结束了,就会立刻释放内存。
      • 堆:存储的是实体(数组,对象),实体可以存储多个数据
        • 特点:在数组没有赋值的情况下,默认值为0;
        • 废弃的东西,不会立即消除,而是等垃圾回收机制来回收垃圾
        • arr=null,就无法再对数组进行操作,会等待垃圾回收机制进行回收
class Demo1
{
    public static void main(String[] args) {
        //数组,可以存储多个数据,是一种数据类型,属于引用数据类型
        //定义一个可以存储5个数的数组
        //new int[5];
        //为了使用数组,需要给数组起个名字
        //int a;
        int [] arr = new int[5];
        //arr[0] = 66;
        System.out.println(arr[3]);
 
        int [] a = new int[3];
        int [] b = a;
        a[0] = 5;a[1] = 6;
        System.out.println(b[0]);//5
    }
}

  

原文地址:https://www.cnblogs.com/bgwhite/p/9375488.html