数组的定义与内存的划分
2017-08-04 15:46
155 查看
数组的定义
public class ArrayDemo { public static void main(String[] args) { // TODO Auto-generated method stub /*数组的定义 元素类型[] 数组名 = new 元素类型[元素个数或数组长度] 需要一个容器,但是不明确容器的具体数据*/ int[] arr = new int[100]; /*定义方法2 元素类型[] 数组名 = new 元素类型[]{元素,元素,元素,...} 需要一个容器,存储已知的具体数据。*/ int[] arr2 = new int[]{1,26,78}; //定义方法2的延伸 int[] arr3 = {1,26,72,98}; System.out.println(arr[0]); } }
内存的划分
1.寄存器2.本地方法区
3.方法区
4.栈内存
5.堆内存
目前,只分析栈内存和堆内存。
栈内存:
存储的都是局部变量(凡是定义在方法内的变量),而且变量所属的作用域一旦结束,变量就自动释放。
特点:变量生命周期短,更新速度很快。
堆内存:
存储的是数组和对象(其实数组就是对象)。凡是new建立的,都在堆中。
特点:
1.堆不会随时释放。
2.每一个实体(new创建的都是实体)都有首地址值。
3.堆内存中的每一个变量都有默认初始化值,不像c语言是乱码。根据类型的不同而不同。整数是0,小数是0.0f或者0.0,boolean false,char ‘\u0000’
4.垃圾回收机制。 和C++很大的不同,C++是人工回收,java是自动回收。
凡是new建立的,都在堆中。
局部变量,都在栈中。
相关文章推荐
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- 数组的定义与内存的划分
- (12)数组定义以及引用类型堆内存分配、数组名赋值问题
- Java基础(数组-内存空间的划分)
- 内存,指针定义使用字符串相关函数数组指针
- 重载(overload)+数组 内存的划分
- 第[4天] 数组——数组的定义、数组内存的分配及特点
- Java中数组表示1(一维数组的定义、初始化和内存中数组的表示)
- 定义数组时不小心内存溢出
- 定义string变量为str,内存流变量为ms,比特数组为bt
- 经典问题1RE运行异常---将耗费内存的数组定义为成员变量
- 程序中定义了大数组或需要很大栈内存时,出现stack overflow 错误的解决方法(vs2008)
- 黑马程序员_JavaSE基础04 之 循环嵌套 函数重载 数组 内存空间划分