标签:分配 完全 ram 运行 自动 数据 一个 系统 释放内存
1. 寄存器
这是最快的存储区,位于处理器内部,不能直接控制。
2. 堆栈
位于RAM中,堆栈指针向下移则分配新的内存;堆栈指针向上移则释放内存。存储速度仅次于存储器。
创建程序时Java系统必须知道存储在堆栈内的所有项的生命周期,以便上下移动堆栈指针。通常用于存放对象引用,对象并不存放在堆栈中。
*特例:Java基本类型,不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储“值”,并置于堆栈中。基本类型存储了实际的值,而并非对象的引用。
3. 堆
用于存放Java 对象。优点是:编译器不需要知道存储的数据在堆里存活多长时间,当需要一个对象时,会自动在堆中进行存储分配。
4. 常量存储
直接放在程序代码内部。
5. 非RAM存储
数据完全存活于程序之外,在程序没有运行是也可以存在。例如流对象和持久化对象。
标签:分配 完全 ram 运行 自动 数据 一个 系统 释放内存
原文地址:http://www.cnblogs.com/0427mybirthday/p/7157727.html