如何理解堆和栈?


什么是栈?

          栈是一个内存数组,是一个后进先出的的数据结构

栈的特征:

        1.数据只能从顶部插入或者删除

        2.把数据放到栈顶成为入栈

        3.从栈顶删除数据成为出栈


什么是堆?

       堆是一块内存区域,在堆里可以分配大块的内存用于存储某类型的数据。堆里的内存可以任意顺序存入或者移除


GC(垃圾回收机制)

        虽然程序可以再堆中保存数据,但并不能显示的删除他们。CLR的自动GC在判断出程序的代码将不会在访问堆中某数据项时,自动清除无主的堆对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言:程序运行时,它的数据必须存在内存中,一个数据需要多大内存、存储在什么地方以及如何存储都依赖于该数据的数据类型...
    小明yz阅读 687评论 4 2
  • 本文是《C# 图解教程》的笔记。 程序运行时,它的数据必须存储在内存中。一个数据项需要多大的内存、存储在什么地方、...
    源小白阅读 2,133评论 1 2
  • 尽管在Java我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,...
    csgyl阅读 545评论 0 0
  • “text segment ”是应用程序运行时应用程序代码存在的内存段。每一个指令,每一个单个函数、过程、方法和执...
    紫云夕月阅读 7,354评论 4 20
  • 1.内存 我们把内存分为堆空间和栈空间 栈空间比较小,但是读取速度快堆空间比较大,但是读取速度慢 2.栈(stac...
    元宇宙协会阅读 1,042评论 2 0