旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

引见C#中的堆和栈【C#.Net教程】,csharp,.net,中的

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:25评论:0


导读:1、什么是堆?    堆是一块内存地区,在堆里可以分派大块的内存用于存储某范例的数据对象;  堆的特性:    1、堆内里的内存可以以恣意递次存入和移除;...
1、什么是堆?

    堆是一块内存地区,在堆里可以分派大块的内存用于存储某范例的数据对象;

  堆的特性:

    1、堆内里的内存可以以恣意递次存入和移除;

    2、不能显现地删除顺序在堆内里保留的数据;

    3、靠CLR的自动GC(垃圾收集器)推断并自动消灭无主的堆对象,然后开释它;

    4、被开释对象的内存可以被重用;

2、什么是栈?

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

  几种数据范例:

    1、某些范例变量的值;

    2、顺序当前的实行环境;

    3、传递给要领的参数;

  几个广泛特性:

    1、数据只能从栈的顶端插进去和删除;

    2、把数据放到栈顶成为入栈;

    3、从栈顶删除数据成为出栈;

3、栈和堆什么区别?

    1、寄存的数据范例差别;

    2、栈只能从顶端插进去和删除,堆可以以恣意递次存入和移除;

    3、栈内存无需治理,也不受GC治理。当栈顶元素运用终了,立马开释。而堆则须要GC(Garbage collection:垃圾收集器)清算;

    4、栈由体系自动分派,速率较快。然则无法掌握。堆则是那些由new分派的内存块,他们的开释编译器不去管,由我们的应用顺序去掌握,平常速率比较慢,而且轻易发生内存碎片.

以上就是引见C#中的堆和栈的细致内容,更多请关注ki4网别的相干文章!

标签:csharp.net中的


欢迎 发表评论: