关于计算机中的内存(看java编程思想看到的)

来源:互联网 发布:指针变量二维数组 编辑:程序博客网 时间:2024/05/29 18:24

    当计算机中的程序运行的时候,数据是怎么存放的:

1.寄存器(register) 这是最快的存储区,它位于CPU(处理器)的内部。寄存器是由编译器根据需求进行分配。 程序员不能直接控制,也不会在程序中感觉到寄存器存在的迹象。

2.堆栈(stack) 位于通用RAM(random-access memory)中,他的堆栈指针可以从处理器那里获得支持。 堆栈指针下移,则分配新的内存,若上移,则释放内存。速度仅次于寄存器。也是由编译器分配和释放,程序员不能控制。 存放的主要是局部变量等。

3.堆(heap)   一种通用型的内存池(位于RAM中,用于存放所有的java对象),当你需要创建一个新的对象时,只需要用new写一行简单的代码,当执行这个代码的时候,会自动在堆里进行存储分配。用堆进行存储分配比用堆栈进行存储分配需要更长的时间。

4.全局区(静态区)  这里的静态是指在固定的位置(也在RAM里),静态存储区里存放的是程序运行时一直存在的数据。

5.常量存储区    常量值经常存放在程序代码内部,因为它们永远不会被改变。

6.非RAM存储   

0 0
原创粉丝点击