JAVA 存储空间 寄存器 堆栈 堆…
2012-12-11 16:19
92 查看
1.寄存器
这是最快的存储区,因为它位于处理器内部,数量极其有限,所以寄存器根据需求进行分配,你不能直接控制,也不能在程序中感 觉到寄存器存在的任何迹象。
2.堆栈
位于通用RAM(随机访问存储器)中,但通过堆栈指针可以直接从处理器那里得到支持,堆栈指针若向下移动,则分配新的内存,若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,JAVA系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。这一约束限制了程序的灵活性。
3.堆
一种通用的内存池(也位于RAM)中,用于存放所有JAVA对象。堆不同于堆栈的地方是:堆不需要知道存储的数据在堆里存活多长时间。因些,在堆里分配存储空间有很大的灵活性。当需要一个对象时,只需要用NEW写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。缺点是用堆进行存储分配和清理要比用堆栈更耗时。
4.常量存储
常量值一般直接放于程序内部,这样做是安全的,因为它们永远不可能改变。如果是嵌入式,可能常量本身会和程序分开,放在ROM中。
5.非RAM存储
如果数据完全存活于程序之外,那么它可以不受任何程序的影响。比如流对象和持久化对象。
这是最快的存储区,因为它位于处理器内部,数量极其有限,所以寄存器根据需求进行分配,你不能直接控制,也不能在程序中感 觉到寄存器存在的任何迹象。
2.堆栈
位于通用RAM(随机访问存储器)中,但通过堆栈指针可以直接从处理器那里得到支持,堆栈指针若向下移动,则分配新的内存,若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,JAVA系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。这一约束限制了程序的灵活性。
3.堆
一种通用的内存池(也位于RAM)中,用于存放所有JAVA对象。堆不同于堆栈的地方是:堆不需要知道存储的数据在堆里存活多长时间。因些,在堆里分配存储空间有很大的灵活性。当需要一个对象时,只需要用NEW写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。缺点是用堆进行存储分配和清理要比用堆栈更耗时。
4.常量存储
常量值一般直接放于程序内部,这样做是安全的,因为它们永远不可能改变。如果是嵌入式,可能常量本身会和程序分开,放在ROM中。
5.非RAM存储
如果数据完全存活于程序之外,那么它可以不受任何程序的影响。比如流对象和持久化对象。
相关文章推荐
- JAVA 存储空间 寄存器 堆栈 堆…
- java对象的内存分配编辑与寄存器 、堆栈、堆、静态存储等
- java中数据存储问题--堆、堆栈、寄存器
- oracle 修改表空间存储路径
- Java中的存储空间类型
- Java SE 环境安装和配置
- Java SE 环境安装和配置
- java-interface demo
- java break 语句的应用
- java finalize
- java 万年历 程序
- JAVA标准系列(final JSR)
- Java学习笔记8 面向对象之封装2
- Java学习笔记26 异常Exception
- MyEclipse 8.5 更改默认的工作空间
- 黑马程序员//JAVA 树形结构程序事…
- Java 计算计算两个日期之间的间隔…
- Java用cmd  执行命令 关于文件路径…
- JAVA中的数据存储(堆及堆栈)
- Failed to create the Java Virtua…