1.寄存器
- 最快的存储区
- 位于处理器内部
- 数量极其有限
- 根据需求进行分配
- 不能直接控制
2.堆栈
- 位于通用RAM
- 通过堆栈指针从处理器获得直接支持
- 堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存
- 存储速度仅次于寄存器
- 创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针
- 用于存储对象引用
- 一种通用的内存池,位于RAM
- 存放所有的Java对象
- 编译期不需要知道存储的数据在堆里存活多长时间
- 直接存放在程序代码内部
- 在嵌入式系统中,常量本身会和其它部分隔离开,可以选择将其存放在ROM中
- 若数据完全存活于程序之外,不受程序的任何控制,在程序没有运行时也可以存在。如流对象,持久化对象
- 在流对象中,对象转化成字节流,通常被发送给另一台机器
- 在持久化对象中,对象被存放于磁盘上
- 把对象转化成可以存放在其它媒介上的事物,在需要时,可恢复成常规的、基于RAM的对象。