您的位置:首页 > 编程语言 > Java开发

JAVA存储数据的5个地方

2016-07-23 18:26 190 查看

1 寄存器

这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。寄存器的数量及其有限,所以其会根据需求自动配置,不能直接控制。


2 堆栈

位于通用RAM(随机访问存储器),但通过堆栈指针可以从处理器那里获得直接支持。
堆栈指针向下移动,分配新的内存;向上移动,释放那些内存。
速度仅次于寄存器。
创建程序时,java系统必须知道存储在堆栈内所有的确切生命周期,以便上下移动指针。一般来说对象引用存在这里,但是对象并不在这里。
基本类型的变量也存储在这里。而基本类型的包装器类存放在堆中。


3 堆

一种通用的内存池(也位于RAM区),用于存放所有的java对象。
编译器不需要知道存储的数据在堆里存活多长时间。
new的时候,自动在堆里进行存储分配。


4 常量存储

常量值通常直接存放在程序代码内部。
可选择将其放在ROM(只读存储器)中,比如字符串池。


5 非RAM存储

如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。比如流对象和持久化对象。在流对象中,对象转化为字节流,发送给另一台机器;持久化对象中,对象被存放在磁盘上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: