zoukankan      html  css  js  c++  java
  • c# 中堆和栈的区别

    存放在栈中时要管存储顺序,保持着先进后出的原则,他是一片连续的内存域,有系统自动分配和维护。

    而堆是无序的,他是一片不连续的内存域,有用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。

    引用类型总是存放在堆中。

    值类型和指针总是放在它们被声明的地方。

    调用方法:系统先将一段编码(堆的首部地址)放到栈上,紧接着放置方法的参数。然后代码执行到方法时,查找栈中放该堆首部地址的所有参数,并通过堆的首部地址来控制堆。

    引用类型:总是放在堆当中。

    当我们使用引用类型时,实际上只是在处理该类型的指针。而非引用类型本身,使用值类型的话则是使用其本身。

  • 相关阅读:
    lc377完全背包问题
    lc650
    lc583
    java static序列化
    lc90回溯
    lc78回溯
    Java基础之常量池
    语法与语义
    数据结构之复杂度分析
    数据结构与算法前言
  • 原文地址:https://www.cnblogs.com/linjiancun/p/1771994.html
Copyright © 2011-2022 走看看