zoukankan      html  css  js  c++  java
  • C#的内存组织

    栈:非类成员的值类型变量

    托管堆:由CLR管理的堆,引用类型变量

    非托管堆:与C++同,只能由unsafe代码访问

    栈的优势:1.快速,内存已经预分配

                  2.连续,总是自上而下顺序使用,不存在碎片

                  3.自动回收,调用返回后栈指针回弹

    栈的劣势:1.不够大,大变量不宜使用栈

                  2.不能长期存在。调用后栈指针必须回弹

    堆的优势:1.可以分配尽可能大的空间,理论上大至4G

                  2.存在时间长。只要不delete,进程结束前总是存在

    堆的劣势:1.慢,需要寻找自由空间并分配(提交物理页)

                  2.不连续。总是从足够大的自由空间中寻找位置,从而产生内存碎片

                  3.不能自动回收,需要代码显示回收(delete)。

  • 相关阅读:
    Ping
    boost::python开发环境搭建
    mingw和libcurl
    ssh远程执行命令使用明文密码
    netty源码阅读之UnpooledByteBufAllocator
    Direct ByteBuffer学习
    clions的使用
    netty中的PlatformDependent
    STL之priority_queue(优先队列)
    c++线程调用python
  • 原文地址:https://www.cnblogs.com/xuezhi/p/2803501.html
Copyright © 2011-2022 走看看