java数组的内存分配及特点小结
数组的内存分配及特点
对空间进行了不同区域的划分,因为每片区域都有特定的处理数据方式和内存管理方式。
1)栈区:存储局部变量,比如形参、FOR语句中的循环变量等等。数据使用完后,所占空间自动释放。
2)堆区:存储实体,比如数组和对象。
. 实体都有内存地址值
. 实体都有默认初值化值
. 当实体不再使用时,会不定时的被垃圾回收机制清除(C++则需手动清除)
3)方法区
4)本地方法区
5)寄存器
重点:
int[] x = new int[3];
int[] y = x;//在栈中定义y,并引用x所引用的实体。即y和x引用了同一个实体。
y[1] = 89;//当执行后,x[1]=89
x = null;//如果x不再引用,y还在引用,所以x引用的实体不是垃圾。
// - - - 分隔线 - - -
int[] x = new int[3];
int[] y = new int[3];//在栈中定义y,y引用堆区重新开辟的另一个空间。
System.out.println(x[1]);
x = null;//x引用的实体就是垃圾了。
-----------------------------------------------------------------------------------------------------------------------------------------------
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5567.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
