🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
程序运行时,它的每部分内容都要先加载到内存中再被使用。 ## **内存结构** 逻辑上内存大体被分为4段 1. 栈(stack)空间 特点: * 栈空间小,CPU访问速度快。用于存放程序中临时创建的变量,存储占用空间长度不变且占用空间小的数据类型(integer,double,Boolean等)。 * 后进先出。适用push,pop进行操作。用于保存和恢复调用现场(上下文),可看作一个临时的数据寄存、交换的区域。 * 栈内存中的数据是可以直接存取的(CPU直接读写)? 2. 堆(heap)空间 大小不固定,可动态扩张或缩减。用于存放进程运行中被动态分配的内存段。用于存储数据长度可变或占用内存比较大的数据(字符串,数组,对象)。 3. 数据(data)段 用来存放可执行文件文件中已初始化的全局变量,就是存放程序静态分配的变量。 4. 代码(code)段 用于存放可执行文件的操作指令,是可执行程序在内存中的镜像(拷贝)。 代码段需要防止在运行时被非法修改(写操作),只允许读操作。一般存储程序中的函数。