JAVA存储数据的5个地方

来源:互联网 发布:武汉矩阵选房系统 编辑:程序博客网 时间:2024/05/20 16:33

1 寄存器

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

2 堆栈

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

3 堆

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

4 常量存储

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

5 非RAM存储

如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。比如流对象和持久化对象。在流对象中,对象转化为字节流,发送给另一台机器;持久化对象中,对象被存放在磁盘上。
0 0
原创粉丝点击