一、内存的划分:
1、寄存器
2、本地方法区
3、方法区
4、栈内存
1、寄存器
2、本地方法区
3、方法区
4、栈内存
存储的都是局部变量5、堆内存
而且变量所属于的作用域一但结束,该变量就会自动释放
存储的是数组和对象(其实数组就是对象) 凡是new建立的都是堆中
特点:
1、每一个实体都有首地址值2、堆内存中的每一个变量都有默认初始化值,根据类型的不同整数 0, 小数 0.0 或0.0f, boolean false , char '\u0000';3、垃圾回收机制
二、数组中的问题
class ArrayDemo2
{
public static void main(String args [])
{
int[] arr = new int[3];
//System.out.println(arr[3]);//编译时没有问题,运行时有问题 越界异常:ArrayIndexOutOfBoundsException
arr=null;
System.out.println(arr[0]); //编译时没有问题,运行时有问题 空指针异常:NullPointerException
System.out.println(arr);//打印出 [I@15db9742 @右侧是数组实体在内存中的位置
<span style="white-space:pre"> </span>// @左侧是 [代表数组 I 代表是int类型的数组
}
}