数组内存学习
一、内存简介:
1.内存分为5块:
a.栈(Stack)
主要运行方法,方法的运行都会进入栈内存运行,云南行完毕之后,需要“弹栈”,为了腾空间。
b.堆(Heap)
保存的是对象,数组,每new一次,都会在堆内存中开辟空间,并为这个空间分配一个地址值,堆内存中的数据都是有默认值的:
整数:0 小数:0.0
字符:‘\u0000’ 布尔:false 引用:null
c.方法区(Method Area)
代码的“预备区”,记录了类的信息以及方法的信息。
方法区中主要保存class文件以及其中的信息
代码运行之前,需要先进内存(方法区)
d.本地方法栈、寄存器(目前暂不接触)。
2.运行图大致示意:
二、内存图:
1.一个数组的内存图:
2.两个数组的内存图:
3.两个数组指向同一片内存空间: