一、基本概念

一、堆栈

  1. 基本概念:堆栈是一种后进先出(LIFO)列表。允许执行两个操作:一是在顶部添加数据(push);二是从顶部返回一些数据(pop)。
  2. 堆栈中通常有一个堆栈指针,保留一个地址,该地址只是堆栈的当前边界。堆栈通过移动SP来扩展以包含必要的信息。包括:
    参数——所有函数的参数都可以保持在堆栈上。
    返回地址——为了能够在执行调用函数后,任然可以调用原函数,函数被调用后的下一条指令的地址被保持到堆栈中。
    局部变量——所有局部变量的位置,也可以保持在堆栈上。
    当调用的子例程时放在堆栈上 的这种结构被称为活动帧。

二、手动内存管理

三、自动 内存管理

  1. Mutator
  2. 分配器(Allocator)
  3. 回收器(Collecort)
  4. 引用计数
  5. 跟踪回收器(Tracking Colector)
  6. 标记阶段
  7. 保守垃圾回收器(Conservative Garbage Collector)
  8. 精确垃圾回收器(Precise Garbage Collector)
  9. 回收阶段
  10. 清除、压缩

你可能感兴趣的:(C#,c#,学习方法,.net)