美文网首页
ios-内存五大区域

ios-内存五大区域

作者: 浪的出名 | 来源:发表于2020-11-04 18:02 被阅读0次

ios内存五大区域

  • 栈区
    函数内部的局部变量,传进来的参数的指针都是放在栈区的,栈区的内存空间由系统管理,它是一段连续的地址空间,遵循FILO先进后出原则,相对堆区来说较小,便于查询。
  • 堆区
    我们通过malloc、calloc、realloc创建的对象都是存在堆区的,堆的内存空间由程序员自己管理的,它是通过链表的结构存储的,遵循先进先出(FIFO)原则,相对栈区来说比较大,由于它的链表结构使得它增删操作方便,查询比较困难
  • 全局变量/静态变量区
    全局/静态区 是存放全局变量和静态变量的。
    已初始化的全局变量和静态变量存放在一块区域。
    未初始化的全局变量和静态变量在相邻的另一块区域。
    由 static 修饰的变量会成为静态变量,该变量的内存由全局/静态区在编译阶段完成分配,且仅分配一次。
    static 可以修饰局部变量也可以修饰全局变量。
    全局/静态区 的内存在编译阶段完成分配,程序运行时会一直存在内存中,只有当程序结束后才会由操作系统释放。
  • 常量区
    常量区是编译时分配的内存空间,在程序结束后由系统释放,主要存放
    已经使用了的,且没有指向的字符串常量
    字符串常量因为可能在程序中被多次使用,所以在程序运行之前就会提前分配内存
  • 代码区
    我们写的代码经过编译以二进制的形式存储在代码区的。


    image.png

相关文章

  • ios-内存五大区域

    ios内存五大区域 栈区函数内部的局部变量,传进来的参数的指针都是放在栈区的,栈区的内存空间由系统管理,它是一段连...

  • iOS 内存

    五大内存区域 栈区,堆区,全局区,常量区,代码区,五大内存区域之外还有 自由存储区也称之五大区域之外区、 栈区创建...

  • iOS 底层基础知识(1)

    1.五大内存区域 栈区,堆区,全局区,常量区,代码区五大内存区域之外还有 自由存储区也称之五大区域之外区 1.1栈...

  • iOS 内存五大区

    文章摘抄链接:iOS-底层原理 24:内存五大区[https://www.jianshu.com/p/5d9006...

  • iOS内存管理

    内存中的五大区域引用计数ARC MRC属性所有权僵尸对象、野指针、空指针分别指什么,有什么区别? 内存中的五大区域...

  • 内存五大区

    iOS内存五大区 在iOS中,内存主要分为 五大区域。如下图所示 下面分别介绍这五大区 *栈区 stack 定义...

  • iOS的内存5大区

    1. 内存中的五大区域 内存分为5个区域,分别指的是----->栈区/堆区/BSS段/数据段/代码段 栈:存储局部...

  • iOS-底层原理22:内存五大区

    在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域。如下图所示 注意:内存五大区,实际是指虚拟内存...

  • 对象在内存中的存储。

    1. 内存中的五大区域. 栈: 存储局部变量. 堆:...

  • iOS 内存浅解

    1.内存中的五大区域 内存分为5个区域,分别指的是----->栈区/堆区/BSS段/数据段/代码段 栈:存储局部变...

网友评论

      本文标题:ios-内存五大区域

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