内存的划分:
1. 寄存器
CPU在处理
2. 本地方法区
与所在系统相关。当线程访问本地方法时,就会进入本地方法栈。
3. 方法区
用于存储方法,存放了每个Class的结构信息,包括常量池、字段描述、方法描述等等。另外,随着类的加载,类变量存在于方法区。
4. 栈(stack)内存
存储的都是局部变量(只要是在方法中定义的都是局部变量),而且变量所属的作用域一旦结束,该变量就自动释放。
5. 堆(heap)内存
存储的是实体(对象)(new关键字创建的)。
堆内存特点:
1. 每一个实体都有首地址值;
2. 堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或0.0f,boolean false char '\u0000’
3. 当实体不再使用时,就会被垃圾自动回收机制处理。
网友评论