java中的内存分配以及栈和堆的区别。

栈:存储局部变量;局部变量:定义在方法声明上和方法中的变量。

堆:存储new出来的数组或对象。

方法进栈,就像子弹一样先入弹夹的后打出来,主方法先进栈最后弹栈;通过地址值找到堆内存new出来的实体,再根据下标(即:索引)找到具体的值。

int [] arr = new int [3];

arr[0] = 10;

System.out.println(arr);  //输出的是地址值:[I@1db9742

System.out.println(arr[0]);//输出的是:10

 

 

posted @ 2020-11-17 22:55  一块  阅读(110)  评论(0编辑  收藏  举报