Java把内存划分为4个部分
1. 代码区 1、栈区 3、堆区 4、静态存储区域和常量存储区域
其中栈的存取速度是最快的,所以局部变量以及一些小型的数据都保存在栈区中,对象保存在堆区中。
代码区:存储代码
栈区: 基础数据类型;
方法的形式参数,直接在栈空间分配,方法调用完,由栈空间释放;
引用数据类型,需要用new来创建,即在栈空间分配一个地址空间(引用),又在堆空间分配类的对象空 间。
堆区:有程序员分配,对象的创建都在堆区进行,当对象生命周期结束后,等待jvm的垃圾回收机制回收。
静态存储区和常量存储区 :保存static类型的变量。保存常量类型(final)的值。