话不多说 直接上图
内存分为 栈 堆 方法区……先记下三个剩下的慢慢学
假如有如下的语句
public static void main(String[] args) {
int[] a = new int[5];
}
在计算机内存中会在栈区域的mian函数帧中开辟一个内存空间
这里补充说明一下
=等号左边的是左值,等号右边的是右值,左值是空间,右值是具体值
int[]a=newint[5];
这条语句来说,左边代表上图的栈里的内存空间;
接下来说下等号右边
new运算符在java中的作用是动态的开辟内存空间,从堆中申请内存,
重点来了;在等号右边开辟出了一段连续的内存空间即数组,然后返回这个堆内存空间的首地址值赋值到等号左边的栈内存a中。所以
地址在堆内存中以16进制存取