IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 1:41:53       共计:4612 浏览

一、具体分布如图所示: 二、关于堆和栈 (1)分配方式: 栈:由编译器自动分配释放,存放函数的参数值,局部变量的值等。

其操作方式类似于数据结构中的栈。堆: 一般由程序员分配释放,它的分配方式类似于链表。(2)申请后系统的响应: 栈:只要所申请的空间小于栈的剩余空间,则系统为程序分配内存,否则栈溢出。堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,遍历该链表,找出第一个大于所申请空间的节点,然后将其从链表中删除并分配,如果没用完,则系统会把多余的重新放回到链表中。(3)申请大小的限制: 栈:栈是高地址向低地址扩展的连续内存,栈的大小一般是2M; 堆:堆是低地址向高地址扩展的不连续内存,堆的大小与计算机有效的虚拟内存有关系。(4)申请效率: 栈:由系统自动分配,速度较快; 堆:速度慢,容易产生内存碎片; 关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图