内存的划分
1.寄存器
2.本地方法区
3.方法区
4.栈内存
存储的都是局部变量,变量的作用域一结束,该变量就立即释放
5.堆内存
存储的是对象,即凡是new的都在堆中
特点:
1.每一个实体都有首地址
2.堆内存中每一个变量都有默认初始值,根据类型不同而不同,整数是0、小数是0.0或者0.0f,boolean类型为false,char是'\u0000',引用数据类型比如数组,就是引用的堆 中存储的实体对象的地址
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。