美文网首页
OC----内存管理:内存5大区域

OC----内存管理:内存5大区域

作者: Damys | 来源:发表于2018-07-09 09:11 被阅读0次
  1. 栈区域: 系统自动分配. 存储局部变量 如:int num=10, int* p=&num。 num 与 p 都存储在栈区域
  2. 堆区域: 允许程序员手动的从堆申请空间来使用,要主动释放。除非程序结束 如:int 4, float 4.... malloc,calloc ...
  3. BSS段区域: 存储未初始化的全局变量/静态变量,因程序运行时其全局/静态变量都没有初始化
  4. 数据段/常量区:存储已初始化的全局变量/静态变量,与常量数据, 在main 外定义的变量
  5. 代码段区域: 存储程序代码/指令

申请效率的比较:
栈由系统自动分配,速度较快。但程序员是无法控制的。
堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便.

栈: 元素有先进后出顺序的线性结构。可以考虑叠盘子,只能从最上面拿盘子,也只能往最上面放盘子。那这个盘子序列、包括上面两条规则就构成了一个栈
堆: 满足一定限制

相关文章

  • OC----内存管理:内存5大区域

    栈区域: 系统自动分配. 存储局部变量 如:int num=10, int* p=&num。 num 与 p 都...

  • iOS备战之内存管理(一)

    iOS备战之内存管理(一) 内存布局 下面的图表示一个内存区域,内存区域从低到高分配依次为:预留区域、代码段、已初...

  • java - 内存管理

    java内存管理 参考文章:Java内存管理:深入Java内存区域 1. 运行时数据区域 Java虚拟机在执行Ja...

  • Android内存优化之内存管理

    本篇文章简单讲述内存优化之内存管理。 内存区域 在Java的内存模型中,将内存区域划分为方法区、堆、程序计数器、本...

  • JAVA运行时内存及垃圾回收

    JAVA 1. Java运行时内存区域 在JAVA运行时的内存区域中,由JVM管理的内存区域分为以下几个模块: 程...

  • Java 内存

    Java 内存区域与内存溢出 内存区域 Java 虚拟机规范将 JVM 所管理的内存分为一下几个: 程序计数器 J...

  • 全面理解Java内存模型(JMM)及volatile关键字

    理解Java内存区域与Java内存模型 Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上...

  • 理解Java内存模型(JMM)

    理解Java内存区域与Java内存模型 Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上...

  • JVM内存结构、运行时内存以及类加载过程

    以下内容都是基于jdk1.8 1、JVM 内存管理 2、JVM内存区域 JVM内存区域主要分为线程私有Thread...

  • 垃圾回收机制

    JVM内存区域 JVM将其管理的内存分为若干数据区域,这些数据区域分布情况如下图所示: 程序计数器:一块较小内存区...

网友评论

      本文标题:OC----内存管理:内存5大区域

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