Java数组初始化及内存分析
java内存分析
java内存分为堆,栈和方法区:
(1)堆:存放new的对象和数组
可以被所有线程共享,不会存放别的对象引用。
(2)栈:存放基本变量类型(包含这个类型的具体数值),引用对象的变量。
(3)方法区:可以被所有的线程共享,包含了所有的class和static变量
示例:
1.声明数组
int []ant = null;
2.创建数组
ant = new int[10];

数组初始化
1.静态初始化:
当使用静态初始化时,声明和初始化同时进行,初始化之后数组的大小不可改变。
int []ant = {1,2,3}//此时数组的大小为3,不可改
2.动态初始化
当使用动态初始化时,包含默认初始化。
int []ant = new int[3]//此时,栈中存在三个数值为0的数组类型对象。
本文探讨了Java内存的堆、栈和方法区的分工,重点解析了数组的声明、创建和初始化过程。静态初始化与动态初始化的区别在于是否指定初始值以及数组大小的固定性。静态初始化时数组大小不可变,而动态初始化则包含默认初始化,数组元素默认为0。通过理解这些概念,有助于深入掌握Java内存管理机制。
577

被折叠的 条评论
为什么被折叠?



