美文网首页
存储区域

存储区域

作者: QYCD | 来源:发表于2021-03-24 16:44 被阅读0次

栈区、堆区、全局区、常量区、代码区

栈区

栈区由编译器自动分配和释放,存放函数参数值、局部变量。
栈是系统数据结构,对应线程/进程是唯一的。
优点: 快速高效
缺点: 有限制,数据不灵活

堆区

由alloc、new创建的对象所分配的内存块,即程序员负责分配(alloc、new)和释放(release);MRC下,一个new就需要对应一个release,谁创建谁释放,谁引用,谁管理;ARC下,编译器会在合适位置给OC对象添加release操作,会在当前线程runloop退出或休眠时销毁这些对象。
优点: 灵活方便,数据适应面广泛
缺点: 效率有一定降低

全局/静态区

全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量存放在同一块区域,未初始化的全局变量和静态变量在相邻的另一块区域,程序结束后由系统释放

常量区

存放的是常量,不允许修改,程序结束后由系统释放

代码区

存放函数的二进制代码,程序结束后由系统释放

参考:
iOS-MRC与ARC区别以及五大内存区
iOS系统中的几大内存区域

相关文章

  • 存储区域

    栈区、堆区、全局区、常量区、代码区 栈区 栈区由编译器自动分配和释放,存放函数参数值、局部变量。栈是系统数据结构,...

  • 浅谈存储区域

    其实早就想写一篇关于内存区域的一篇文章,不过限于自己水平有限,一直未能完成这样一篇文章。今天我也是再看了好多大神的...

  • 读书笔记

    进程有自己的地址空间,包括文本区域:存储代码 数据区域:存储变量和动态分配的内存 堆栈区域:存储调用的指令和本地变...

  • java 基础

    进程: 文本区域、数据区域、和堆栈。 文本区域存储处理器执行的代码。 数据区域存储变量和进程执行期间使用的动态分配...

  • 【华为网络技术大赛】储存基础原理

    广义的存储 硬件存储系统 存储软件 存储网络 存储解决方案 存储方案 DAS(直接连接存储)早期 SAN(存储区域...

  • ARC下Block的存储区域

    ARC下Block的存储区域 ARC下block的存储区域 堆区 全局区 测试一下 不使用外部变量 void(^b...

  • iOS复习笔记

    1、变量的概念变量的值可以在程序运行期间改变变量代表一块存储区域存储区域内存储的内容就是变量的值 2、变量命名规范...

  • 阿里OSS对象存储使用

    几个概念 Bucket:OSS 存储区域名EndPoint:大区域名Bucket 域名:bucket 域名 Acc...

  • UNIX文件系统----系统存储结构

    1 文件存储结构 在逻辑设备(被UNIX系统划分为多个区域的存储介质,例如硬盘,软盘,光盘,每个区域都可以像独立的...

  • Android文件存储路径

    手机存储分为三块区域1.内部存储2.SD卡存储(Primary External Storage)3.外置sd卡(...

网友评论

      本文标题:存储区域

      本文链接:https://www.haomeiwen.com/subject/tyxhhltx.html